A wine purchase tracker and review app built with Rust and React with TypeScript. I created this project to give my dad a better way to track his wine purchases than the Excel spreadsheet he was using.
- Rocket
- PostgreSQL
- React
- TypeScript
- Materialize CSS
- Chart.js
- Clone the repository
$ git clone https://github.com/threecgreen/vinoteca $ cd vinoteca
- Install rust via rustup if not already installed
$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
- Build the web server
$ cargo build
- Generate contracts
$ cargo run --bin gen_contracts
- Install JavaScript dependencies and create the webpack bundle
$ npm install --save --no-optional $ npm run-script build
- Start the web server
$ cargo run
- Navigate to localhost:8000. The service will run the necessary database migrations on startup.
Configuration is managed via Rocket.toml
.
Required configurations:
- Postgres database
- AWS S3 access keys
Optional configurations
- Secret key for generating encrypted cookies
- Log level
- Number of worker threads
The background image on the main page was taken by CollideStorm