Scaling a garden can be tricky. Many crops tend to thrive under conditions unique to them; some may require certain soil nutrients, or to be watered more or less frequently than others. Arcata is a garden management solution that provides a minimal interface for managing your plants. By integrating with 3rd party APIs and external datasets, Arcata provides users with neat facts on the plants in their garden, and bundles them in a clean visualization so users can show off their gardens.
Client: React, NextJS
Server: Rust, Rocket, Diesel, PostgreSQL
- Docker
- Rust
- diesel_cli
Clone the project
git clone https://github.com/konstantinvvictoria/makeUC2022Go to the project directory
cd makeUC2022With the Docker daemon running, start the PostgreSQL instance
docker-compose upVisit rustup.sh to download Rust if you don't already have it installed, then install the diesel-cli to run our database migrations:
cargo install diesel_cli@1.4.1 --no-default-features --features postgresRun initial DB migrations (from root directory)
diesel migration run --database-url postgresql://postgres:example@localhost:5432/postgresStart the backend API
cd backend/ && cargo watch -x runSee the SQL Schemas to see the data format PostgreSQL format
#[derive(Insertable, Deserialize)]
#[table_name = "users"]
pub struct NewUser {
pub uid: String,
pub username: String,
}
#[derive(Insertable, Deserialize)]
#[table_name = "plants"]
pub struct NewPlant {
pub uid: String,
pub symbol: String,
pub sci_name: String,
pub gener_name: String,
}