https://github.com/threecgreen/vinoteca
Wine purchase tracker written in Rust and TypeScript
https://github.com/threecgreen/vinoteca
react rocket rust typescript
Last synced: 2 months ago
JSON representation
Wine purchase tracker written in Rust and TypeScript
- Host: GitHub
- URL: https://github.com/threecgreen/vinoteca
- Owner: threecgreen
- License: mit
- Created: 2017-10-24T01:51:31.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2025-03-10T03:20:07.000Z (over 1 year ago)
- Last Synced: 2025-03-10T04:28:58.705Z (over 1 year ago)
- Topics: react, rocket, rust, typescript
- Language: TypeScript
- Homepage: https://vinote.ca
- Size: 16.6 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# vinoteca
[](https://github.com/threecgreen/vinoteca/actions?query=workflow%3ACI)
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.
## Built-With
* Rocket
* PostgreSQL
* React
* TypeScript
* Materialize CSS
* Chart.js
## Building from source
1. Clone the repository
```bash
$ git clone https://github.com/threecgreen/vinoteca
$ cd vinoteca
```
1. Install rust via rustup if not already installed
```bash
$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
```
1. Build the web server
```bash
$ cargo build
```
1. Generate contracts
```bash
$ cargo run --bin gen_contracts
```
1. Install JavaScript dependencies and create the webpack bundle
```bash
$ npm install --save --no-optional
$ npm run-script build
```
1. Start the web server
```bash
$ cargo run
```
1. Navigate to [localhost:8000](http://localhost:8000). The service will run
the necessary database migrations on startup.
## Configuration
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
## Acknowledgements
The background image on the main page was taken by [CollideStorm](https://www.reddit.com/r/wine/comments/6z7d6c/one_of_my_favorite_road_trips_i_have_ever_done_i/)