mirror of
https://github.com/mvvasilev/findtheti.me.git
synced 2025-04-18 21:19:52 +03:00
An event scheduling assistant written in Rust and React + TS
.sqlx | ||
.vscode | ||
frontend | ||
migrations | ||
src | ||
.dockerignore | ||
.env.example | ||
.gitignore | ||
build.rs | ||
build.sh | ||
Cargo.lock | ||
Cargo.toml | ||
docker-compose.yml | ||
Dockerfile | ||
LICENSE | ||
project-image.png | ||
README.md |
A convenient scheduling assistant written in Rust and React
Setup
The simplest way to set this application up is via docker. Its images can be found at https://hub.docker.com/r/mvv97/findthetime. Also, it is only compatible with PostgreSQL at the moment. It is required to have a PostgreSQL database already setup and running.
Simple (With Docker)
To use findtheti.me
with docker, simply run
docker run
-e DATABASE_URL='postgresql://{postgres user}:{postgres password}@{postgres host}/{postgres database}'
mvv97/findthetime
Example docker-compose.yml
version: "3.4"
services:
postgresql:
image: "docker.io/library/postgres:16-alpine"
restart: unless-stopped
volumes:
- '/data/findtheti-me/postgres_data:/var/lib/postgresql/data'
environment:
POSTGRES_PASSWORD: ${PG_PASS:?database password required}
POSTGRES_USER: ${PG_USER:-findthetime}
POSTGRES_DB: ${PG_DB:-findthetime}
findthetime:
image: "docker.io/mvv97/findthetime:latest"
restart: unless-stopped
environment:
DATABASE_URL: "postgres://${PG_USER:-findthetime}:${PG_PASS}@postgresql/${PG_DB:-findthetime}"
ports:
- '8080:8080'
Advanced (Without Docker)
- Compile Backend (
cargo build --release
) - Build Frontend (
cd frontend && yarn install && yarn build
) - Copy the
findtheti-me
file fromtarget/release
and place it into your desired installation folder - Copy the
frontend/dist
folder and place it into the same installation folder, maintaining the directory tree.
In the end, your folder structure should be as follows:
installationDir/
| |-frontend/
| |-dist/
|-findtheti-me
- Next, create a
.env
file in the root of the installation directory, and look at.env.example
for what should be in there
Finally, run ./findtheti-me
in the root, and the application should start.
Setup For Development
Backend
- Create a PostgreSQL database
- Configure a
.env
in the project root directory ( following.env.example
) - Run
cargo sqlx migrate run
to run all migrations ( ensure you've created the database beforehand ) cargo run
to run the backend ( orcargo build
to compile it, with the--release
flag for an optimized build )
Frontend
yarn install
yarn dev
( oryarn build
/yarn preview
)
Docker Build Image
- Do Backend and Frontend setups first
- Run
cargo sqlx prepare
( ensure .sqlx directory has been created. The one included in this git repo may be out of date. ) docker build .
( orpodman build .
) in root directory