Skip to content
This is the new api repository for Feel the Movies. Written in Go, totally open source.
Branch: master
Clone or download
Cyro Dubeux
Latest commit c6da6af Jun 13, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
api/insomnia-schema
assets/img
cmd/feelthemovies
db
internal
test/integration
.gitignore
.travis.yml
CONTRIBUTING.md
Dockerfile
LICENSE
Makefile
README.md
docker-compose.yml
go.mod
go.sum

README.md

Build Status Go Report Card License: MIT

This is the new API repository for Feel the Movies. Written in Go, totally open source.

This is my first Golang project, so probably there's a lot to improve. Any kind of help is welcome. I did my best researching the best practices, the best folder structuration and all that I could find. In the future, I pretend to bump this project to the version 2.0 using advanced concepts, like design patterns.

Installation

Set environment variables for MySQL and Redis. Check the main.go file.

Make sure that you have Docker installed and then run the following commands:

$ docker-compose up -d
$ go get -t -v ./... 

That's it! Go to folder "cmd/feelthemovies" and run the command:

$ go run main.go

Packages

These are the packages that helped me build this project:

  • go-chi/chi - chi is a lightweight, idiomatic and composable router for building Go HTTP services.
  • uber-go/zap - Blazing fast, structured, leveled logging in Go.
  • InVisionApp/go-health - Library for enabling asynchronous health checks in your service.
  • dgrijalva/jwt-go - Golang implementation of JSON Web Tokens (JWT).
  • go-playground/validator - Package validator implements value validations for structs and individual fields based on tags.
  • google/uuid - The uuid package generates and inspects UUIDs based on RFC 4122 and DCE 1.1: Authentication and Security Services.
  • go-sql-driver/mysql - A MySQL-Driver for Go's database/sql package.

Useful links

Contributing

To start contributing, please check CONTRIBUTING.

License

MIT

You can’t perform that action at this time.