KyoMel / Yogyakarta, Indonesia

Case 0404 / 04

Sayembara App

A contest management API with authentication, submissions, and an admin dashboard.

Role
Backend developer, Glints x Binar Academy
Period
2020
Stack
Node.js, Express, PostgreSQL, JWT
Artifact
Watch the demo

Problem

A contest needs one place to take submissions and one place to review them. Without it, entries arrive by email and the organiser tracks them by hand.

Decisions 2

JWT for authentication

The API stays stateless, so any instance can serve any request without a shared session store.

CostRevoking a token before it expires needs extra work, because no server holds the session.

PostgreSQL for the submission store

Submissions are relational data with real constraints, so the database enforces them.

CostSchema changes need migrations, which is slower than a schemaless store.

Outcome

  • demoWalked through end to end in a recorded demo.

Next