Backend Assessment
Movies API · Node.js or Python · Live deployment
⏱ 30 MIN
Build
20 min
Local → push to GitHub
Deploy
10 min
SSH → clone → Nginx → HTTPS
Endpoints
POST /movies Prisma
Create a single movie. Body: { "title": "Inception", "genre": "Sci-Fi", "year": 2010 }
POST /movies/bulk Prisma
Insert multiple movies at once. Body: [{ "title": "...", "genre": "...", "year": ... }, ...]
PUT /movies/:id Prisma
Update a movie by ID. Body: { "title": "...", "genre": "...", "year": ... } (any field optional)
GET /movies Redis cache
Return all movies. Response served from Redis cache if available; falls back to DB and caches result.
GET /movies/:id Redis cache
Return a single movie by ID. Cached per ID in Redis. Returns 404 if not found.
Stack
Node.js or Python (any framework)
PostgreSQL + Prisma ORM
Redis (GET caching)
GitHub (public repo)
Deploy steps
1Push to public GitHub repo
2SSH into server, clone repo, install deps
3Configure Nginx reverse proxy on provided domain
4Run Certbot → HTTPS live link
Server access
host209.38.24.54
usercandidate
pass••••••••••••••••••