Skip to content
/ events Public

Evenementen Verzamelen en Evalueren, Notificeren van Todo's en Statussen

License

Notifications You must be signed in to change notification settings

ZeusWPI/events

Repository files navigation

Events

Evenementen Verzamelen en Evalueren, Notificeren van Todo's en Statussen

As the name suggests it's a tool to help remember all the required steps for a successful event!

Goal

It strives to create as little manual work as possible.
While this is not possible for every check, the vast majority of them will be fully automatic.
In the end the following checks will (hopefully) be supported:

  • Announcements
  • A well written website event page
  • Posters
  • DSA website entry
  • Reservations (if it's not taking place in the Kelder)
  • Mentioned in a presentation for every bachelor year
  • Mentioned in an email
  • Custom checks

With each check having it's own deadline and reminder notifications (emails) for the organisers.

Backend

The backend is written in Golang. It uses (not a complete list):

Frontend

The frontend is located in ui and written in Typescript. It uses:

Development

Prerequisites

  • Install the required versions of Golang and Typescript. Can be found in the asdf tool versions file.
  • Install pre-commit hooks git config --local core.hooksPath .githooks/.
  • Install sqlc go install github.com/sqlc-dev/sqlc/cmd/sqlc@latest.
  • Install goose go install github.com/pressly/goose/v3/cmd/goose@latest.

Run the application

Configure the environment variables in both the backend and frontend.
Migrate the database by starting the database make db and running the migrations make migrate.
Start the backend & frontend (both supporting HMR) make watch.

Commits

Commit messages should adhere to the conventional commits standards. A githook and workflow is used to enforce it.

Commands

All commands can be found in the makefile. A short list:

  • make build - Build the application to a single docker container.
  • make watch - Start the database, backend & frontend with HMR
  • make migrate - Run all pending migrations.
  • make test - Run all tests

Useful flows

Adding a new typed query (sqlc)

  1. Add your new query to `db/queries/{target}.sql`` file.
  2. Run make sqlc.
  3. Use the new query in your code.

Adding a migration

  1. Run make create-migration.
  2. Edit the newly made migration that can be found in the db/migrations folder.
  3. Update the queries in the db/queries folder accordingly.
  4. Run make sqlc

About

Evenementen Verzamelen en Evalueren, Notificeren van Todo's en Statussen

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages