The backend API for Collabro — a web platform connecting university students and instructors for project collaboration.
Built with Python + Flask, connected to a MySQL database hosted on Railway.
This backend handles all the data for the Collabro website:
- User registration and login
- Creating and viewing projects
- Applying to join projects
- Requesting advisors
- Announcements
- Project team messaging
git clone https://github.com/evasafi/collabro-backend.git cd collabro-backend
python -m venv venv .\venv\Scripts\activate
pip install -r requirements.txt
Create a file called .env in the root folder. Get the values from Railway — do not commit this file to GitHub.
Your .env should look like this: MYSQL_HOST= MYSQL_PORT= MYSQL_USER= MYSQL_PASSWORD= MYSQL_DB= SECRET_KEY=collabro2026supersecretkey
python app.py
Server starts at http://localhost:5000
Download Postman from postman.com Use it to send requests to the routes listed below.
POST /api/auth/register POST /api/auth/login
GET /api/projects/ GET /api/projects/:id POST /api/projects/ PUT /api/projects/:id DELETE /api/projects/:id
POST /api/applications/ GET /api/applications/project/:project_id GET /api/applications/user/:user_id PUT /api/applications/:id/status
POST /api/advisors/ GET /api/advisors/incoming/:instructor_id GET /api/advisors/sent/:project_id PUT /api/advisors/:id/status GET /api/advisors/search
GET /api/announcements/ GET /api/announcements/:id POST /api/announcements/ PUT /api/announcements/:id/status
GET /api/messages/conversation/:project_id POST /api/messages/conversation/:project_id/send
collabro-backend/ ├── .env ← your private credentials (never share on GitHub) ├── app.py ← starts the server, run this file ├── config.py ← reads .env values ├── extensions.py ← database connection ├── requirements.txt ← all packages needed └── routes/ ├── auth.py ← register and login ├── projects.py ← project CRUD ├── applications.py ← apply to projects ├── advisors.py ← advisor requests ├── announcements.py ← announcements └── messages.py ← team messaging
- Python 3
- Flask
- MySQL (hosted on Railway)
- flask-mysqldb
- flask-cors
- python-dotenv
- werkzeug
Built by SPM Group 1 — Uskudar University