A web platform connecting students for collaborative study sessions through real-time group chat, course-specific matching, and session coordination.
Third Place addresses the challenge of finding study partners by creating a dedicated space for students to organize, join, and coordinate study sessions. Students can browse available sessions by course code, join group chats, and collaborate effectively.
- School email authentication (.edu, .ac.uk domains)
- Create and browse study sessions by course, date, and meeting type
- Real-time group chat for active sessions
- Session capacity management
- Advanced search and filtering
- Participant tracking
Backend
- FastAPI (Python)
- Supabase (PostgreSQL)
- JWT Authentication
- Bcrypt password hashing
Frontend
- Vanilla JavaScript
- HTML5/CSS3
- Polling-based real-time updates
- Python 3.9+
- Supabase account (free tier available)
- Install Dependencies
pip install -r requirements.txt- Configure Environment
Create backend/.env:
SUPABASE_URL=your_project_url
SUPABASE_KEY=your_anon_key
SECRET_KEY=your_random_secret_key
- Setup Database
Run the SQL from SETUP.md in your Supabase SQL Editor.
- Start Backend
cd backend
python main.pyBackend runs at http://localhost:8000
- Start Frontend
Open frontend/index.html in your browser or use a local server:
python -m http.server 3000Interactive API docs available at http://localhost:8000/api/docs when backend is running.
Authentication
POST /auth/register- Create accountPOST /auth/login- Login with JWT
Sessions
POST /sessions/- Create study sessionGET /sessions/- Browse sessions with filtersPOST /sessions/{id}/join- Join sessionGET /sessions/my/sessions- Get user's sessions
Chat
POST /chat/{session_id}/messages- Send messageGET /chat/{session_id}/messages- Get chat history
deltahacks/
├── backend/
│ ├── main.py # FastAPI application
│ ├── config.py # Configuration
│ ├── models.py # Pydantic models
│ ├── supabase_client.py # Database client
│ ├── functions/ # Business logic
│ │ ├── auth_functions.py
│ │ ├── session_functions.py
│ │ └── chat_functions.py
│ └── routes/ # API endpoints
│ ├── auth_route.py
│ ├── sessions.py
│ └── chat_route.py
├── frontend/
│ ├── templates/ # HTML pages
│ ├── Scripts/ # JavaScript
│ ├── Styles/ # CSS
│ └── Icons/ # Images
├── requirements.txt
└── SETUP.md # Database setup guide
This project was built for DeltaHacks. For setup issues, refer to SETUP.md.
MIT