This is a website for Rat Hacks. It's homepage provides information for the upcoming hackathon! There are also accounts to manage things like events and workshops.
Participants get to have an account that manages signing up for events and workshops. They are able to edit their data through a settings page and perform actions like logging out of their accounts. When submitting participants upload their screenshot and video to a Cloudlfare R2 bucket. Organizer can create and manage events and workshops. Organizers also are able to see the users and send out emails within the website. Organizers are easily able to create backups, upload backups, and load from backups. There are judge accounts that are able to leave feedback on projects.
You can test this out yourself at https://demo.rathacks.com by using the following credentials:
Organizer:
email - [email protected]
password - Organizer@123
Judge:
email - [email protected]
password - Judge@123
Student:
email - [email protected]
password - Student@123
backup.mp4
cloudflare-r2.mp4
I added a new wepage at https://demo.rathacks.com/past-events. It contains all of the past events in the order that they were hosted. It also has pictures from the events where we took them.
The frontend is build in TypeScript React and uses Axios to make called to the backend's API. The Backend is build in TypeScript ExpressJS. It handle tokens with JWT and sends emails through https://loops.so. There is a access token and refresh token system to keep users logged in. The database is PostgreSQL and is interfaced through Prisma.
GitHub Copilot Tab Complete was used in the making of this project.
This is deployed with Docker! Check out the docker-compose.yaml and fill in the environment variables if you want to run this locally.