Skip to content

0xdod/go-realworld

 
 

Repository files navigation

RealWorld Example App

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.

How it works

The project structure was inspired by two posts on Ben Johnson's blog which can be found here and here.

Getting started

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

Locally

  • 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

TODO

  • Revisit error handling

About

Example realworld API built using Go's standard net/http library

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 94.8%
  • PLpgSQL 3.6%
  • Other 1.6%