DevChalk

TaskFlowGoravel series

Build a production Go API, one episode at a time.

TaskFlow is a task manager with accounts, roles, file uploads, background jobs and email. We build it in Goravel, the Laravel-style Golang framework, from an empty folder to a container running in production.

02 20 2 published34 min so far Next: 03 Reading Request Data

Episodes

2 of 20 published
  1. 19:36 01Installation & Project Architecture A running Goravel skeleton, providers wired, Docker up 20 min Episode 1 of 20 Watch episode Read article
  2. 14:07 02Routing & Response Route files registered, JSON responses shaped 14 min Episode 2 of 20 Latest Watch episode Read article

Coming next

Order and scope can move as the build does.

Foundation

Episodes 03 to 06

A running project, routes, request data, a database and the models on top of it

  1. 04 Models & Migrations A users table, generated from the model
  2. 05 Relationships: Belongs To Tasks tied to users with foreign keys, loaded together
  3. 06 Relationships: Has Many Notifications, and a user loaded with all their tasks

Application

Episodes 07 to 11

Data to work with, validation, accounts, and who is allowed to do what

  1. 07 Factories & Seeding Fake users from a factory, seeded with one command
  2. 08 Validation with Form Requests Rejecting bad input before it reaches a handler
  3. 09 Register & Login with JWT Accounts, hashed passwords, signed tokens
  4. 10 Auth Middleware Routes that know who is calling them
  5. 11 Gates & Policies Managers create and assign, members update status

Production

Episodes 12 to 20

The real endpoints, then everything a deployed app needs around them

  1. 12 Task CRUD The task endpoints the whole app exists for
  2. 13 File Storage: Attachments Uploads on a task, stored and served
  3. 14 Events & Listeners Notifications decoupled from the handlers
  4. 15 Queues & Jobs Slow work moved off the request
  5. 16 Mail: Assignment Emails A real email when a task lands on someone
  6. 17 Cache: Dashboard & Lists Hot reads served without touching Postgres
  7. 18 Scheduling & Artisan Commands Recurring work and a command you wrote
  8. 19 Feature Testing The whole API covered, top to bottom
  9. 20 Ship It: Docker & Deploy TaskFlow live on a URL you can share