Internal availability scheduling tool for NIAEFEUP, inspired by Lettuce Meet. People submit their availabilities and the system cross-references them so the creator can easily find a time that works for everyone and schedule it.
- SvelteKit — full-stack framework
- Svelte 5 (runes mode) — UI
- TypeScript — type safety
- Tailwind CSS 4 — styling
- Vite — build tool
- pnpm — package manager
-
Install dependencies:
pnpm install
-
Set up environment variables:
cp .env.example .env
-
Start the database: Make sure you have Docker installed and running, then start the local PostgreSQL database:
docker compose up -d
-
Initialize Database and Seed: Apply the migrations to your database and seed it with mock data:
pnpm prisma db migrate pnpm run seed
Here are some handy commands for working with the database and Prisma:
pnpm run seed— Populates the database with mock events and availabilities for local testing.pnpm run studio— Opens Prisma Studio directly so you can visually inspect and edit your database tables.pnpm run contract:emit— Re-generates TypeScript types (contract.d.ts) after you edit yoursrc/prisma/contract.prismafile.pnpm prisma db update— Quickly syncs any schema changes you made incontract.prismato your local database (great for rapid local development).
pnpm devThe app will be available at http://localhost:5173.
pnpm buildPreview the production build:
pnpm previewpnpm checkpnpm install sets up a husky pre-commit hook that runs lint-staged with Biome on staged files, applying safe fixes before each commit.
Skip it for a single commit with git commit --no-verify, or disable hooks entirely with HUSKY=0.
src/
├── lib/ # Shared utilities and components ($lib alias)
├── routes/ # SvelteKit routes (pages)
├── app.html # HTML template
└── app.d.ts # Type declarations
static/ # Static assets
This project uses @sveltejs/adapter-auto. To deploy, install the appropriate adapter for your target environment and run pnpm build. See the SvelteKit adapters docs for more info.
This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0).