Part 17: Wrap-up: the checklist, what we skipped, and where to go next
Rashik Ansar Shaik
Part 16: OpenAPI: a contract that can't drift, and a docs page you can trust
Rashik Ansar Shaik
Part 15: Idempotency keys: making retries safe
Rashik Ansar Shaik
Part 14: TLS: encrypting the wire, hot-reloading certificates, and verifying the database
Rashik Ansar Shaik
Part 13: Protecting the login endpoint: layered rate limiting
Rashik Ansar Shaik
Part 12: Authorization: roles, ownership, and the bug class behind most API breaches
Rashik Ansar Shaik
Part 11: Authentication: passwords, JWTs and refresh tokens that can't be replayed
Rashik Ansar Shaik
Part 10: Rate limiting, and the spoofing trap that breaks most implementations
Rashik Ansar Shaik
Part 9: Pagination and API performance
Rashik Ansar Shaik
Part 8: Docker and docker compose: ship the app, run the whole stack
Rashik Ansar Shaik
Part 7: Observability: logs, metrics, traces and health checks
Rashik Ansar Shaik
Part 6: Moving to PostgreSQL
Rashik Ansar Shaik
Part 5: A second resource: structure, relations and cascades
Rashik Ansar Shaik
Part 4: Configuration that fails fast
Rashik Ansar Shaik
Part 3: Production basics: validation, errors, context, middleware, graceful shutdown
Rashik Ansar Shaik
Part 2: Persistence with SQLite and database/sql
Rashik Ansar Shaik
Part 1: CRUD in memory with nothing but net/http
Rashik Ansar Shaik
Build a production-grade REST API in Go, step by step
Rashik Ansar Shaik