Forum-App-Go-Backend
This is a forum API built with Golang
Getting Started
[Technologies 路 路 Installations 路 路 Tests 路 Author
Technologies Used
Installations
Clone
- Clone this project to your local machine
https://github.com/victorsteven/Forum-App-Go-Backend.git
Setup
Without Docker
Ensure that you have your .env set up and have created your database
- For local, set the DB_HOST in the .env file as follows:
$ DB_HOST=127.0.0.1
In the root directory, run the command
$ go run main.go
- Use
http://localhost:8080
as base url for endpoints
Using Docker
Docker is the default setting for this project
- Set the DB_HOST as follows in the .env file
$ DB_HOST=forum-postgres
For Local Development:
- Create a Dockerfile file in the root directory
- Copy the content of the file: example.Dockerfile.dev (for only local development)
- Create a docker-compose.yml file in the root directory
- Copy the content of the file: example.docker-compose.dev.yml (for only local development)
For Testing:
- Create a Dockerfile.test file in the root directory
- Copy the content of the file: example.Dockerfile.test (for only test)
- Create a docker-compose.test.yml file in the root directory
- Copy the content of the file: example.docker-compose.test.yml (for only test)
For Production (This should be done in the server (AWS, DigitalOcean, etc)):
- Create a Dockerfile file in the root directory
- Copy the content of the file: example.Dockerfile.prod (for production only)
- Create a docker-compose.yml file in the root directory
- Copy the content of the file: example.docker-compose.prod.yml (for production only)
In the root directory, run the command:
$ docker-compose up --build
- Use
http://localhost:8888
as base url for endpoints
Tests
Without Docker
- Run test for all endpoints
Navigate to the tests directory and run
$ go test -v ./...
Using Docker
- Run test for all endpoints
If you have set up the Dockerfile.test and the docker-compose.test.yml files above, from the root directory of the app.
$ docker-compose -f docker-compose.test.yml up --build
Author
- Steven Victor
- medium: medium.com/@victorsteven
- twitter: twitter.com/stevensunflash
- linkedin: linkedin.com/in/stevenchikodi