Go net/http codebase containing real world examples (CRUD, auth, advanced patterns, etc) that adheres to the RealWorld spec and API.
This codebase was created to demonstrate a fully fledged fullstack application built with Go net/http library including CRUD operations, authentication, routing, pagination, and more.
We've gone to great lengths to adhere to the Golang community styleguides & best practices.
For more information on how to this works with other frontends/backends, head over to the RealWorld repo.
The project structure was inspired by two posts on Ben Johnson's blog which can be found here and here.
This project uses Go version 1.17 and postgresql 14 You also need to have migrate tool installed to run all migrations against the database
- make sure Go is installed on your machine.
- make sure to have the postgresql database installed locally or remote
- set the .env file or env var as shown in the .env.example file
- run the migrations in postgres/migrations or run
make run-migration
- fetch all dependencies using
go mod download
- run
make run
to start the server locally
- Revisit error handling