|
1 | 1 | # gomin
|
2 | 2 |
|
3 |
| -## Get Started |
| 3 | +## Pre-requisites |
4 | 4 |
|
5 | 5 | 1. Install [Pre-Commit](https://pre-commit.com/). This project uses pre-commit to ensure code is all nice and tidy before others can see it.
|
6 | 6 | 2. Install the pre-commit hooks by running `pre-commit install`
|
7 | 7 | 3. Install [Atlas](https://atlasgo.io/getting-started). Atlas is used for database migrations
|
8 | 8 |
|
| 9 | +## Getting Started |
| 10 | + |
| 11 | +This project uses [Taskfile](https://taskfile.dev/) for running tasks. The following tasks are available |
| 12 | + |
| 13 | +- `task build` - creates the executable storing it in `out/bin` directory along with the config file |
| 14 | +- `task clean` - cleans various build artifacts |
| 15 | +- `task d.build` - builds the docker container |
| 16 | +- `task d.down` - shuts down the docker containers |
| 17 | +- `task d.up` - starts up the docker containers (postgres + gomin api) |
| 18 | +- `task db.migrate` - useful when changing the `database/schema.hcl` file, applies changes to the local database |
| 19 | +- `task db.up` - useful for ONLY starting the database (not the api) |
| 20 | +- `task server.run` - runs the code locally (not using docker) |
| 21 | +- `task test` - runs tests including coverage |
| 22 | + |
9 | 23 | ## Roadmap
|
10 | 24 |
|
11 | 25 | 1. [x] - Simple REST API
|
12 | 26 | 2. [x] - Add initial Makefile
|
13 | 27 | 3. [x] - Add pre-commit
|
14 |
| -4. [ ] - Initial database setup |
15 |
| -5. [ ] - Incorpoate database into REST API |
| 28 | +4. [x] - Initial database setup |
| 29 | +5. [x] - Incorpoate database into REST API |
16 | 30 | 6. [ ] - Integration tests for database
|
17 | 31 | 7. [ ] - E2E tests for REST API
|
18 | 32 | 8. [ ] - Add github build for golang
|
19 |
| -9. [ ] - Add docker packaging |
| 33 | +9. [x] - Add docker packaging |
20 | 34 | 10. [ ] - Add docker image build in Github Actions on Tag
|
21 | 35 | 11. [ ] - Terraform plan for RDS
|
22 | 36 | 12. [ ] - Terraform plan for ECS
|
|
0 commit comments