Welcome to the official starter repository for the
AI / API Preliminary Round of BUET CSE FEST Hackathon 2026.
This repository contains:
- The complete problem statement
- Database setup files
- External API specifications
- Testing tools
- Submission templates
You are expected to fork this repository and build your solution inside it.
Follow these steps in order.
Click Fork on GitHub and create your own copy.
Then clone it:
git clone <your-fork-url>
cd <repo-name>Go to:
problem-statement/problem-statement.md
This file explains everything.
Start here.
You may use any backend framework or language.
Examples:
- Python (Flask / FastAPI / Django)
- Node.js (Express / NestJS)
- TypeScript
- Any other server framework
All your backend code must go inside:
backend/
Choose ONE method:
Follow:
problem-statement/run-postgres-with-docker.md
Follow:
problem-statement/run-postgres-locally.md
Inside backend/, create your server.
Your server must provide:
GET /healthPOST /query
As described in the problem statement.
Open:
hackathon.yml
Edit it to match your backend.
Templates are available in:
hackathon.yml.templates/
Copy the closest template and modify it.
Example:
cp hackathon.yml.templates/hackathon.python.template.yml hackathon.ymlInside backend/, create .env from .env.example:
cp .env.example .env
- Now fill up the env vars
DB_HOST=
DB_PORT=
DB_NAME=
DB_USER=
DB_PASSWORD=
GEMINI_API_KEY=
PORT=8080Do NOT commit .env Put it in .gitingore.
Start your server using your commands.
Check:
curl http://localhost:8080/healthYou should see:
{
"status": "ok",
"database": "connected"
}Go to:
cd checker
python checker.py -b http://localhost:8080Fix errors until tests pass.
.
โโโ backend/ โ Your server code goes here
โ
โโโ checker/ โ Testing scripts
โ
โโโ data/ โ Database dump
โ
โโโ external-apis/ โ API collections (Bruno)
โ
โโโ hackathon.yml โ Automation config (REQUIRED)
โ
โโโ hackathon.yml.templates/ โ Ready-made templates
โ
โโโ problem-statement/ โ Full documentation
โ
โโโ README.md โ You are reading this
Do not move or rename these folders.
| Purpose | File |
|---|---|
| Main instructions | problem-statement/problem-statement.md |
| Database setup | problem-statement/run-postgres-*.md |
| Schema | problem-statement/schema-description.md |
| Submission | problem-statement/submission_guideline.md |
| External APIs | problem-statement/opeapi-specification.yml |
External API definitions are provided in:
external-apis/
and
problem-statement/opeapi-specification.yml
Use these for tool selection.
Do NOT use other APIs.
Your project will be evaluated automatically.
The judge will:
- Clone your repository
- Read
hackathon.yml - Generate
.env - Install dependencies
- Start your server
- Call
/health - Run checker
If any step fails, your submission may fail.
Read:
problem-statement/submission_guideline.md
Then submit your GitHub repository link via the Google Form.
โ Writing code outside backend/
โ Missing hackathon.yml
โ Committing .env
โ Wrong server port
โ Missing /health endpoint
โ Hardcoding answers
Avoid these.
- Start simple
- First make
/healthwork - Then connect DB
- Then answer 1โ2 queries
- Then add LLM
- Then add external APIs
Do not try to do everything at once.
If you are confused:
- Re-read the problem statement
- Check example templates
- Just use chatGPT
Good luck, and happy hacking!