Skip to content
/ project Public template

A boilerplate for building web apps with Golang and Typescript React

License

Notifications You must be signed in to change notification settings

peterzernia/project

Repository files navigation

Project

Build Status

Project is a boilerplate web application project built with Go & Typescript. Skip through the initial setup of a project while keeping the dependencies as minimal as possible. Project's configuration is completely exposed, allowing you to change at will. Project provides a user model and auth api endpoints on the backend as well as authentication routes on the frontend.

Project ships with configuration for Docker, Travis-CI for continuous integration and Heroku for deployment.

Usage

  • Click the Use this template button
  • Clone the repository
  • Change all the paths referencing peterzernia/project to your username & project name
  • Copy .env.dist to a .env
  • Run make build to build Docker container
  • Run make up to run the servers

The frontend development server runs on localhost:3000. The backend server runs on localhost:8001

Tests

Run make test to run all the tests suites make test-js and make test-go will test the frontend and backend respectively

Setup your project on Travis-CI and push changes to see the CI build and run tests. For the deployment step, setup your heroku project and change the name in .travis.yml to match along with your own Heroku api key. More info here.

Deployment

Setup a Heroku project with a Golang and Nodejs buildpack. Change all references of project and project-boilerplate in the code to reference your own Heroku project. Make sure a heroku/nodejs buildpack is added along with the Golang buildpack. More info here.

Built with

Docker Go Typescript React Webpack Travis-CI Heroku Postgres