A demo backend service that handles promotions.
URL
GET https://promotions-backend.herokuapp.com/games/game1/promotions
Response
{
"promotions": [
{
"id": 1,
"gameId": "game1",
"title": "Promotion 3",
"startsAt": "2022-02-18T12:22:56.000Z",
"endsAt": "2022-04-18T12:22:56.000Z"
}
]
}
URL
GET https://promotions-backend.herokuapp.com/games/game1/promotions/:id
Response
{
"promotion": {
"id": 1,
"gameId": "game1",
"title": "Promotion 3",
"startsAt": "2022-02-18T12:22:56.000Z",
"endsAt": "2022-04-18T12:22:56.000Z"
}
}
URL
POST https://promotions-backend.herokuapp.com/games/game1/promotions
Request
{
"title": "Promotion 3",
"startsAt": "2022-02-18T12:22:56+0000",
"endsAt": "2022-04-18T12:22:56+0000"
}
Response
{
"promotion": {
"id": 1,
"gameId": "game1",
"title": "Promotion 3",
"startsAt": "2022-02-18T12:22:56.000Z",
"endsAt": "2022-04-18T12:22:56.000Z"
}
}
URL
PATCH https://promotions-backend.herokuapp.com/games/game1/promotions/1
Request
{
"title": "Fall Promotion"
}
Response
{
"promotion": {
"id": 1,
"gameId": "game1",
"title": "Fall Promotion",
"startsAt": "2022-02-18T12:22:56.000Z",
"endsAt": "2022-04-18T12:22:56.000Z"
}
}
Run Postgres in Docker
docker run -it -d -p 5432:5432 -e POSTGRES_PASSWORD=foobar123 postgres
Migrate the database
npx prisma migrate dev --name init
Start the server
npm run dev