HackRadar is a FastAPI-based API that collects hackathon data from platforms like MLH, Devpost, and Devfolio, storing everything in a PostgreSQL database. It provides endpoints for upcoming hackathons and can be deployed easily with Docker.
- Scrapers for multiple hackathon platforms.
- REST API built with FastAPI.
- Uses PostgreSQL as the primary database.
- Automated scraping using background tasks or scheduled jobs.
- Dockerized setup for easy deployment.
Run the following commands to start everything with Docker and PostgreSQL:
docker compose build
docker compose up -d
Access API at: http://localhost:8000/docs
-
Clone the repository:
git clone https://github.com/yourusername/hackradar.git cd hackradar
-
Install dependencies (using uv):
uv pip install -e .
-
Set up PostgreSQL: Ensure you have PostgreSQL running locally. Update the
.env
file with your database connection details. -
Initialize the database:
python -m backend.init_db
-
Run the scrapers to fetch initial data:
python -m tasks.fetch_and_store
-
Start the FastAPI server:
uvicorn backend.main:app --reload
-
Open the interactive API docs at: http://localhost:8000/docs
Create a .env
file in the root directory:
DATABASE_URL=postgresql://hackuser:hackpass@db:5432/hackradar
SCRAPE_ON_START=1
Contributions are welcome! Please check the Contributing Guide before submitting pull requests.