Little API to demonstrate various microservice design principles and technologies
Branch: master
Clone or download
Holmes89 Merge pull request #1 from Holmes89/auth
initial refactoring with auth
Latest commit e1190e9 Jan 17, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
cmd
dockerfiles initial refactoring with auth Dec 5, 2018
internal initial refactoring with auth Dec 5, 2018
terraform bad env Oct 24, 2018
tests/acceptance Update requirements.txt Nov 1, 2018
.gitignore first acceptance tests Oct 12, 2018
Jenkinsfile restored container Oct 24, 2018
Makefile initial refactoring with auth Dec 5, 2018
README.md Update README.md Nov 16, 2018
deploy.sh initial refactoring with auth Dec 5, 2018
docker-compose.yml initial refactoring with auth Dec 5, 2018
go.mod initial refactoring with auth Dec 5, 2018
go.sum initial refactoring with auth Dec 5, 2018
schema.sql init commit Sep 10, 2018
ticketAPI initial refactoring with auth Dec 5, 2018
userAPI initial refactoring with auth Dec 5, 2018

README.md

Gira (A Hex Example)

This is a sample project that was originally supposed to be and example of hexagonal architecture. It has slowly evolved to incorporate other ideas and product integrations.

Gira is a really simple ticket management API. You can create and fetch ticket (that's it). The application is flexible in that it can run as either a AWS Lambda function or a standalong server. It also allows you to swap backend database (between Redis or Postgres).

This project will continue to evolve and change depending on things I'm interested in learning.

Explored Areas

Build

go build main.go

Test

go test ./...

Run

./main - runs in lambda mode with a redis instance

Flags

--database - either redis or psql

--server - runs in sever mode

Environment

DATABASE_URL - Override local database url

REDIS_PASSWORD - Override default Redis Password

Run Acceptance Tests

cd tests/acceptance
source .env
robot -v HOST:${endpoint} tickets.robot