Goravel series · TaskFlow
Build a task API in Go.
TaskFlow, written in Goravel, the Laravel-style framework for Go. One working piece per part, with the code tagged on GitHub.
All parts
How to read it 01 Foundation Installation & Project Architecture 8 min · A new Goravel project, Postgres and Redis in Docker, the server running 02 Foundation Routing & Responses 7 min · Route files registered, JSON responses shaped, a task controller 03 Foundation Reading Request Data 5 min · Path, query string and JSON body, read from the request 04 Foundation Models & Migrations 5 min · A users table, generated from the model 05 Foundation Relationships: Belongs To 8 min · Tasks tied to the users who made them and the users they are assigned to 06 Foundation Relationships: Has Many 7 min · Users loaded with the tasks they made and the tasks assigned to them 07 Foundation Factories & Seeding 5 min · Fake users and tasks, seeded with one command 08 Application Validation with Form Requests 9 min · Rejecting bad input before it reaches a handler 09 Application Register & Login with JWT 13 min · Accounts, hashed passwords, signed tokens 10 Application Auth Middleware & Rate Limits 8 min · Routes only signed-in users can call 11 Application Task CRUD 11 min · The task endpoints, with a status filter and pages 12 Application Gates & Policies 9 min · Managers create and assign, members update status 13 Application Feature Testing 11 min · Tests for logins, roles and tasks 14 Production File Storage 12 min · Files attached to tasks 15 Production Events & Listeners 12 min · A notification when a task is assigned 16 Production Queues & Jobs 8 min · A CSV export that runs in the background 17 Production New Mail & Templates 11 min · Emails for new assignments and finished exports