Web Development · project ideas
Backend Project Ideas
Build real backend systems from scratch, progressively mastering REST APIs, databases, authentication, caching, messaging, and scalable architecture.
Personal Expense Tracker API
beginner
Build a RESTful API that lets users log and categorize personal expenses with full CRUD operations.
Requirements
- Implement GET, POST, PUT, DELETE endpoints for expenses
- Store data in a relational database (SQLite or PostgreSQL)
- Filter expenses by date range and category via query params
- Return meaningful HTTP status codes and JSON error messages
- Validate request bodies and reject malformed input
REST API designSQL basicsInput validationHTTP semanticsCRUD operations
User Authentication Service
beginner
Create a standalone auth service with registration, login, and JWT-protected routes.
Requirements
- Register and login endpoints with hashed passwords (bcrypt)
- Issue signed JWT access tokens on successful login
- Protect at least one resource route with JWT middleware
- Implement token expiry and return 401 on invalid/expired tokens
- Store users in a database with unique email constraint
JWT authenticationPassword hashingMiddleware designDatabase constraintsSecurity basics
URL Shortener Service
beginner
Build a service that shortens long URLs and tracks redirect analytics per short code.
Requirements
- POST endpoint accepts a long URL and returns a unique short code
- GET endpoint redirects short code to original URL with 301/302
- Track click count and last-accessed timestamp per short code
- Reject invalid or malformed URLs with descriptive errors
- Persist all data to a database
URL routingDatabase designRedirect mechanicsInput sanitizationBasic analytics
Blog Platform REST API
intermediate
Develop a full-featured blog backend with users, posts, comments, and role-based access control.
Requirements
- CRUD for posts and comments tied to authenticated users
- Role-based access: admins can delete any content, users only their own
- Paginate post listings with configurable page size
- Support tagging posts and filtering by tag
- Write at least 10 integration tests covering key endpoints
Role-based authorizationPaginationRelational data modelingIntegration testingAPI versioning
Real-Time Chat Backend
intermediate
Build a chat server supporting multiple rooms using WebSockets, with message persistence.
Requirements
- WebSocket server handles connect, disconnect, and broadcast events
- Users join named rooms; messages are scoped to the room
- Persist last 50 messages per room in a database
- REST endpoint returns chat history for a given room
- Handle disconnections gracefully without crashing the server
WebSocketsEvent-driven architectureConcurrency handlingMessage persistenceConnection lifecycle management
E-Commerce Order Processing API
intermediate
Create a backend for an online store covering products, cart, orders, and basic inventory management.
Requirements
- Product catalog endpoints with search and category filtering
- Cart service that calculates totals including discounts
- Order creation that atomically decrements inventory (database transactions)
- Order status workflow: pending → confirmed → shipped → delivered
- Emit an order-placed event to a message queue (e.g. Redis pub/sub or RabbitMQ)
Database transactionsMessage queuingDomain modelingState machinesAtomic operations
Rate-Limited Public API Gateway
advanced
Build an API gateway that proxies requests to downstream services and enforces per-client rate limiting.
Requirements
- Proxy HTTP requests to at least two mock downstream services
- Enforce sliding-window rate limiting per API key using Redis
- Return 429 with Retry-After header when limit is exceeded
- Log every request (method, path, latency, status) to a structured log store
- Expose a /metrics endpoint with request counts and p95 latency
Reverse proxy patternsRedis sliding-window algorithmObservability & structured loggingLatency measurementAPI key management
Background Job Processing System
advanced
Design a distributed task queue where producers enqueue jobs and worker processes execute them with retry logic.
Requirements
- Producer API enqueues jobs (e.g. send email, resize image) with priority levels
- Worker pool picks up and processes jobs concurrently
- Failed jobs retry up to N times with exponential back-off
- Dead-letter queue stores jobs that exceed retry limit
- Dashboard endpoint returns queue depth, active workers, and failed job count
Job queue architectureWorker concurrencyRetry & back-off strategiesDead-letter patternsSystem observability
Multi-Tenant SaaS Backend
advanced
Architect a backend where isolated tenants share infrastructure but have fully segregated data and configuration.
Requirements
- Tenant provisioning endpoint creates isolated schema or database per tenant
- All API routes resolve tenant context from subdomain or JWT claim
- Per-tenant feature flags control access to premium endpoints
- Rate limits and quotas enforced independently per tenant
- Audit log records every mutating action with tenant ID, user ID, and timestamp
Multi-tenancy patternsSchema isolationFeature flag systemsAudit loggingSaaS architecture