Pro-Rooms is a premium platform for students and professionals to discover, create, and join exclusive group rooms. Each room is protected by a 6-digit access code to ensure community quality.
Architecture Update: Pro-Rooms has been refactored from a monolithic Flask application into a modern, decoupled architecture featuring a Flask REST API backend and a React single-page application (SPA) frontend.
- Room Discovery: Search through a curated list of professional and student groups.
- Secure Access: Join rooms only if you have the 6-digit access code.
- Create Your Own: Easily create and manage your own group rooms.
- Real-Time Chat: Live chat functionality within each room.
- Premium Design: Sleek, modern, and dark-themed UI built with React & CSS.
- User Authentication: Secure stateless JWT login via local accounts or Google OAuth.
- Backend: Python, Flask, Flask-REST API, PostgreSQL, SQLAlchemy ORM, Flask-JWT-Extended
- Frontend: React, Vite, Axios, React Router Dom, Vanilla CSS (Glassmorphism)
- Authentication: JWT (JSON Web Tokens) & Authlib (Google OAuth)
The project is split into two directories: backend/ and frontend/. You must run both concurrently.
-
Navigate to the backend folder:
cd backend -
Set up a Virtual Environment & Install Dependencies:
uv venv source .venv/bin/activate uv pip install -r requirements.txt -
Configure Environment Variables: Copy
.env.exampleto.envand configure it:cp .env.example .env
Make sure
DB_NAMEand your credentials point to a valid PostgreSQL database. -
Initialize the Database:
flask db upgrade
-
Run the Flask Development Server:
flask run --port=5000 --debug
The API will be available at
http://localhost:5000.
-
Navigate to the frontend folder (in a new terminal window):
cd frontend -
Install Node Utilities: Ensure you have Node.js installed, then install the React dependencies:
npm install
-
Configure Environment Variables: Create a
.envfile in thefrontendfolder:VITE_API_URL=http://localhost:5000/api
-
Run the React Development Server:
npm run dev
The UI will be available at
http://localhost:5173.
Built with ❤️ by Vasanth