Simple webapp to mark students and employees entry and exit times. Made by students, for students. Built in SvelteKit + Postgres (with fuzzystrmatch extention).
The following programs are needed to develop this project:
node
pnpm
docker
/ podman
docker compose
/ podman-compose
make
(optional)Setup enviroment variables (adjust as needed):
cp .env.example .env
Install dependencies:
pnpm i --frozen-lockfile
or:
make install
You also need docker (with compose plugin) or podman (with podman-compose) to start up the Postgres database:
docker compose up -d
or:
podman-compose up -d
To start the app (with database migrations):
pnpm run dev
This will start the server on: http://localhost:5173
.
Just use the docker-compose.prod.yml
:
make prod-start
or:
docker compose -f docker-compose.prod.yml up -d
or:
podman-compose -f docker-compose.prod.yml up -d
In order to update you production deployment, first run:
git pull
And after that rebuild the images:
make prod-update
or:
docker compose -f docker-compose.prod.yml up -d --build
After deploying the project, either for development or production, visit /admin
path and in the sidebar create at least 1 building, at least 1 department and at least 1 user. Afterwards, by going to the homepage you will be able to log in using the created user credentials. For all of the admin actions you must pass the secret set via the environment variable SECRET
.