Overview
Set up a basic REST API for managing quotes from movies, books, shows, and other sources.
You can freely choose the framework.
Suggestions:
ORM Suggestion:
- Drizzle ✔️
- I don't personally don't like the alternative, Prisma. Drizzle is a bit more verbose, but way more type safe and performant.
Endpoints
Schema
{
id: number // required, auto-generated by the system
text: string // required, the quote content
source: string // required, the work the quote comes from (book, movie, speech, etc.)
attributedTo?: string // optional, person credited for the quote (author)
type: string // required, type of source (movie, book, tv, speech, podcast, game, etc.)
character?: string // optional, character who said the quote if different from attributedTo
// (e.g. attributedTo = author, character = book character)
createdAt: Date // required, automatically set when the quote is created
}
e.g.
{
"id": 1234,
"text": "You do not rise to the level of your goals. You fall to the level of your systems.",
"source": "Atomic Habits",
"attributedTo": "James Clear",
"type": "book",
"createdAt": "2026-03-09T20:00:00Z"
}
{
"id": 5678,
"text": "Why so serious?",
"source": "The Dark Knight",
"attributedTo": "Christopher Nolan",
"type": "movie",
"character": "The Joker",
"createdAt": "2026-03-09T20:01:00Z"
}
If you come with something better, go for it.
Acceptance criteria
TOKEN=blaplu
DB_NAME=postgres
DB_USER=postgres
DB_PASSWORF=postgres
Overview
Set up a basic REST API for managing quotes from movies, books, shows, and other sources.
You can freely choose the framework.
Suggestions:
ORM Suggestion:
Endpoints
Schema
e.g.
{ "id": 1234, "text": "You do not rise to the level of your goals. You fall to the level of your systems.", "source": "Atomic Habits", "attributedTo": "James Clear", "type": "book", "createdAt": "2026-03-09T20:00:00Z" }{ "id": 5678, "text": "Why so serious?", "source": "The Dark Knight", "attributedTo": "Christopher Nolan", "type": "movie", "character": "The Joker", "createdAt": "2026-03-09T20:01:00Z" }If you come with something better, go for it.
Acceptance criteria
docker-composeDockerfile.envfile to store your secrets. Also applicable for thedocker-compose. Don't hardcode your credentials there. Also DON'T COMMIT THE.envfile. You can add a.env.devwhere you put some example data, so I know what env vars you're using if I want to work on your code. Example