π
Hello, there Welcome to Inventar!
Inventar is an app designed to help you keep track of your things (i.e., inventory them) be it while you are moving or, really, just in general β for some, it can even aid sustain a minimalistic lifestyle!
Inventar was developed with Svelte for the front-end and with Rust (Rocket π + Diesel β½) for the back-end.
All the data stored in the app is being hosted on the free-tier of a cloud-based PostgreSQL database provider (see ElephantSQL), which supports a maximum of 5 concurrent connections and 20MB of data maximum.
How I Setup the DB
- Install
diesel
cli w/ postgres specifications:cargo install diesel_cli --no-default-features --features postgres
- Create a
.env
file specifying aDATABASE_URL
as per.env.example
file.
Note: Your
DATABASE_URL
should look somewhat like:postgres://<username>:<password>@<host>/<database_name>
Check out Diesel's Getting Started Guide for more info on setup and next steps (i.e., migrations and whatnot).
How I Deployed on Heroku
- Install the Heroku CLI.
- In your command-line, log into Heroku (
heroku login
). - Now, on Heroku's dashboard, create a new app.
- In your existing Rust project, run
heroku buildpacks:set emk/rust
- Check out my
Procfile
andrust-toolchain
files β that's also neededπ . - To finish off, if you want to avoid having to push to the Heroku remote all the time, go to the your app's deployment settings and connect to your GitHub repo β we're done! Now, whenever you push to
main/master
, you'll be deploying to Heroku!
How to run this project locally
- For the front-end, make sure you're in the sub-root inventar folder and run:
npm run dev
. - For the back-end, make sure you're in the root inventar folder and run:
cargo run
orcargo watch -x run
(i.e., if you use cargo watch).