Brewbat - tech stack and functionality
Published: 2023-07-19
Updated: 2023-07-19
Tech Stack
- Flask (backend)
- Blueprint project organisation
- SQLAlchemy (ORM)
- Flask Login, BCrypt (user session management)
- Flask Mail (user email confirmation)
- Flask Flatpages (md documentation)
- Jinja templating language
- Pandas (data processing)
- WTForms
- Flask-Migrate (database migration)
- Deployment
- Hetzner VPS
- Docker
- SWAG (reverse proxy)
- NPM/JS
- Vanilla JS for most of the frontend and calculations
- Bootstrap
- Chart.js
- Flatpickr
- Leaflet
- Quill (notes)
- Sweet Alert (pop ups)
- Tabulator (tables)
- Snowpack (build tool)
Functionality
- User account
- Login
- Email confirmation
- Reset password
- Limit to 10 recipes in trial mode
- Brewing calculators
- Most done in Svelte
- Some still vanilla JS: event listeners etc. Old School!
- User area
- Import Beersmith XML recipe files and add to profile
- Update equipment profile for user usage
- Save water profile from database of 3000+ water profiles into user water
- Brewsheet
- Move from a recipe to a brew sheet to get an overview of what you’re doing on brewday with
- timers
- data entry
- ingredients lists
- Recipe
- Operations
- Create
- Delete
- Auto save
- Duplicate
- Charts
- Tables
- Base ingredients