🍺 Boozer
Boozer is a web app which stores users, beers and consumptions!

Outline
- Data sourced from users.
- This means the data will be sparse at first, but item uses will conform to a bell-curve. Once most of the commonly used items are added, adding new items will be rare.
- User creates account, adds items and records consumptions.
Team
- 03y: full-stack, sysadmin
- Adam-W2: frontend(?), data analysis
- EuanRobertson1: full-stack(?)
- Choob303: requirements gathering and user testing
Workflow
- Monorepo for backend (api), frontend and db scripts (and laster on data analysis stuff).
- CI for backend (gh actions).
- Use issues and PRs to keep track of work.
- Use behaviour-driven development (BDD) style testing
Plan
No time restraint on stages - [x] DB & backend implementation of users and items. - [x] DB & backend implementation of uses of items. - [x] Frontend implementation. - [ ] Data analysis.
Stack
| Service | Software |
|---|---|
| DB | PostgreSQL |
| Backend | Go |
| Frontend | HTML/JS |
DB
- PostgreSQL.
- Tables:
- Items
- Users
- Consumptions
Backend
- Go.
- Gin for HTTP API.
- PGX for DB connection.
- BDD tests with hurl.
- More details in the Backend Specification.
Frontend
- Web Frontend:
- Basic HTML + JS (possibly look into use of JS framework).
- Ensure it performs well on mobile devices.
- More details in the Frontend Specification.
Running
The easiest way to run the entire application stack is with Docker, see the backend documentation.