I admit, this isn’t a solution to an infrequent problem. Actually, it is a problem that occurs rather frequent: getting an MVP off the ground as fast as possbile.

If you find yourself in such a situation and you consider to attempt to use Go, then you might want to consider this project: https://github.com/eldonaldo/go-project-template

The project is suited as starting point for a simple webapp MVP. Besides the core files needed to get the setup running it contains a simple user module showcasing the intended project structure. Running the project starts the app exposing a REST API using the go-shipped webserver.

Features:

  • Hot reloading.
  • sqlite3 database for local development.
  • ORM ready to go.
  • A simple database migration system.
  • Injection of environment variables into config files.
  • Simple spring-like repository structure for convenient database queries.
  • Testing setup

Feedback and PRs welcome! I hope you find it useful.