One-time setup (if not done yet):
cd /home/jan/cc_side_projects/fullstack_project_template
./scripts/setup.sh # installs npm deps, runs pre-commit install, copies .env
Then edit .env — the JWT_SECRET placeholder is intentionally long but you should replace it with a real random value:
openssl rand -base64 32
Start dev servers:
./scripts/dev.sh
This runs the Rust backend on http://localhost:3000 and the Vite frontend on http://localhost:5173. The frontend proxies /api/v1/ to the backend automatically.
Manual flow to verify it works:
- Open http://localhost:5173
- Register an account at /register
- Log in at /login → should redirect to /dashboard
- Create a data item on the dashboard
- For password reset: submit your email at /forgot-password, then watch the backend terminal — it prints the reset URL to the console (no real email needed in dev)
Run tests:
./scripts/test.sh # cargo test + npm test
./scripts/lint.sh # clippy, rustfmt, eslint, prettier, svelte-check
Or with Docker (closest to production):
docker compose up --build
app available at http://localhost:3000
Note: Docker requires JWT_SECRET to be set in your .env file since we removed the default from docker-compose.yml.