Skip to content

Forum Backend API built with Golang, GIn Framework, GORM, PostgreSQL/MySQL

Notifications You must be signed in to change notification settings

victorsteven/Forum-App-Go-Backend

Repository files navigation

Forum-App-Go-Backend CircleCI

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

About

Forum Backend API built with Golang, GIn Framework, GORM, PostgreSQL/MySQL

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published