Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/p1utoze/Hackme

A fast, minimalistic participant management system for your hackathon 🚀
https://github.com/p1utoze/Hackme

fastapi firebase hackathon-project python registration-system

Last synced: about 1 month ago
JSON representation

A fast, minimalistic participant management system for your hackathon 🚀

Awesome Lists containing this project

README

        



# Hackme
A minimalistic open-source web-application that serves as hackathon registration and participant status monitoring. Initally developed as a event management tool for [Hackaventus](https://hackaventus.com/)- A national level hackathon. It is designed to handle large amount of user registrations.

## Features

- Instant QR Code Registration
- Restricted Access for Organizing Team ✉️
- Single scan, multiple functionalities 📨
- Supports Google SSO and Firebase Auth with email and password 🤔
- Participant management dashboard
- Automatic participant status update through ID scan
- Hackme application usage flowchart:

![Hackme application flowchart](./assets/Hackme.drawio.svg)

## Get started
To use this app, check out my hosted website: [hackme](https://hackme.cloudns.nz)

### Prerequisites

- Install project dependencies using pip
```
pip install -r requirements.txt
```
- Rename the `.env.template` to `.env` and replace the placeholders. Refer [Environment Variables configuration](SETUP.md/#environment-variables-configuration
) for more details.

- Add the users who can access the application to the firebase project. Refer [Setting up Organizing Team Database](SETUP.md/#setting-up-organizing-team-database) for more details.

### Usage

- **Uvicorn:** To run the app locally with uvicorn server on port ``.
```
uvicorn app.main:app --reload --port
```
- **Docker:** To run the app locally with docker on port ``.
```
$ docker pull p1utoze/hackme:v1.8
$ docker run -p :80 --env-file .env p1utoze/hackme:v1.8
```
**NOTE:** Ensure the callback url port is the same as the port specified in the command. Refer [Environment Variables configuration](SETUP.md/#environment-variables-configuration
) for more details.

### Python

Needs: Python 3.X, virtualenv

Stable at Python v.3.8.X and 3.10 (tested at Python 3.8.17 and 3.10)

### Roadmap
I have mentioned the features I have planned to implement in the future in the issues. If you have any suggestions, please feel free to open an issue.
### Contributing

Contributions are welcome! Please feel free to submit a Pull Request.