This is the new API repository for Feel the Movies. Written in Go, totally open source.
App
Currently available for Android only. I have plans for an iOS version, since the application was written in React Native, it should be no problem to release a version in the future.
Download it on Play Store
Installation
Change the values of environment variables in the .env file if desired.
Make sure that you have Docker and Docker Compose installed and then run the following command:
$ docker-compose up -d
That's it! Wait for the API container to be ready and check url: localhost:8000/v1/recommendations.
To recompile, run:
$ docker-compose up -d --build
Build
Run the command below and check the binary in the dist folder.
$ make build
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.
- tome - Package tome was designed to paginate simple RESTful APIs.
- envconfig - Golang library for managing configuration data from environment variables.
- go-sql-driver/mysql - A MySQL-Driver for Go's database/sql package.
- jmoiron/sqlx - sqlx is a library which provides a set of extensions on go's standard database/sql library.
- go-redis - Type-safe Redis client for Golang.
Useful links
Front-End & Mobile Apps
These two projects here needs a lot of improvements.
Contributing
To start contributing, please check CONTRIBUTING.
License
MIT