CampusConnect is a comprehensive, modern university community and management ecosystem designed to bridge the gap between students, clubs, faculty, and campus administration. It streamlines academic resource sharing, extracurricular activities, emergency support, peer-to-peer campus commerce, and student verification in a unified, beautiful web experience.
This project was developed and submitted in partial fulfillment of the requirements for the degree of Bachelor of Science in Computer Science and Engineering (B.Sc. in CSE).
- Institution: Bangladesh University of Business and Technology (BUBT)
- Department: Department of Computer Science and Engineering (CSE)
- Course: Software Development IV (
CSE - 400) - Supervised By: Ahmed Shafkat, Assistant Professor, Department of CSE, BUBT
| Sl. | Contributor Name | Student ID | Department |
|---|---|---|---|
| 1 | Utsho Roy | 22235103261 |
CSE, BUBT |
| 2 | Md. Shamim Pramanik | 22235103267 |
CSE, BUBT |
| 3 | Mohammad Mostafizur Rahman | 22235103330 |
CSE, BUBT |
| 4 | Afrin Akter Achol | 22235103358 |
CSE, BUBT |
| 5 | Md. Arifur Rahaman | 21225103159 |
CSE, BUBT |
- Notes Repository: Upload, filter, search, and download verified lecture notes by department, intake, and course.
- CT Question Bank: Previous class test questions categorized by course code, teacher, and intake.
- Assignment Cover Generator: Live interactive cover page builder with custom templates and instant PDF generation.
- Jobs & Internships Board: Campus recruiting, part-time jobs, and research internship postings.
- Club Directory: Discover student clubs, apply for memberships, and follow updates.
- Community Feed & Posts: Social feed with post likes, comments, announcements, and rich media.
- Events & Ticketing/Registration: Event calendar, upcoming notices, and single-click event registrations.
- Club Admin Claim: Verified student club leads can claim and manage their club pages.
- Peer-to-Peer Marketplace: Buy and sell used books, calculators, electronics, lab equipment, and stationery safely within campus.
- Lost & Found System: Report lost or found campus items with images, date, location, and contact numbers.
- In-App Messaging: Real-time buyer-seller chat for seamless negotiation and handoffs.
- Donor Directory: Search active student blood donors by blood group (
A+,B+,O+,AB+, etc.), department, and intake. - Urgent Requests: Broadcast urgent blood requirements across campus.
- Quick access to campus security, medical center, ambulance contacts, proctor office, and emergency helplines.
- Top student contributors ranked by notes uploaded, blood donations, and community helpfulness badges.
- Role-Based Access Control (RBAC): Student, Club Admin, and Super Admin roles.
- Student ID Card Verification: Front/back campus ID card uploads to ensure a safe, student-only platform.
- JWT Authentication: Secure stateless authentication with automatic access token refreshing.
- Dark / Light Mode & Multilingual: Theme switching and dual language support (English / বাΰ¦ΰ¦²ΰ¦Ύ).
| Layer | Technologies |
|---|---|
| Frontend | React 19, Vite, Tailwind CSS v4, Framer Motion, Lucide React, Axios, React Router v7, HTML2PDF |
| Backend | Python 3.13+, Django 5.1, Django REST Framework (DRF), SimpleJWT |
| Database | PostgreSQL (Neon DB / Production) / SQLite (Local Dev) |
| Media Storage | Cloudinary / Local Media Storage |
| Email Delivery | Anymail (Brevo / Sendinblue) / SMTP |
campusconnect/
βββ backend/ # Django REST API
β βββ academic/ # Notes, CT questions, assignment templates, jobs
β βββ accounts/ # Custom User model, auth, ID verification, profiles
β βββ blood_donation/ # Donor listings and urgent blood requests
β βββ clubs/ # Clubs, applications, feed posts, events
β βββ config/ # Django settings, root URLs, WSGI/ASGI
β βββ emergency/ # Emergency contact directory
β βββ leaderboard/ # Gamification points and rankings
β βββ marketplace/ # Buy/Sell items and Lost & Found listings
β βββ manage.py
β βββ requirements.txt
β
βββ frontend/ # React + Vite Frontend
βββ public/ # Static assets & icons
βββ src/
β βββ assets/ # Images & graphics
β βββ components/ # Reusable UI components & modals
β βββ contexts/ # Auth, Theme, Language state providers
β βββ layouts/ # App shells for Clubs, Marketplace, Emergency
β βββ pages/ # Page views (Dashboard, Notes, Clubs, Market, etc.)
β βββ services/ # Axios API client & endpoints
β βββ styles/ # Global styles
β βββ App.jsx # Main router & routes
β βββ main.jsx # App entrypoint
βββ index.html
βββ package.json
βββ vite.config.js
- Python 3.13+ installed
- Node.js 18+ & npm installed
- Git installed
# 1. Navigate to the backend directory
cd backend
# 2. Create a virtual environment
python -m venv .venv
# 3. Activate the virtual environment
# Windows (PowerShell):
.venv\Scripts\Activate.ps1
# macOS / Linux:
source .venv/bin/activate
# 4. Install dependencies
pip install -r requirements.txt
# 5. Configure environment variables (.env)
# Create a .env file based on .env.example
cp .env.example .env
# 6. Apply database migrations
python manage.py migrate
# 7. (Optional) Create a superuser for admin panel
python manage.py createsuperuser
# 8. Start the Django development server
python manage.py runserver 127.0.0.1:8000Backend API URL: http://127.0.0.1:8000/
Admin Dashboard: http://127.0.0.1:8000/admin/
# 1. Navigate to the frontend directory
cd ../frontend
# 2. Install dependencies
npm install
# 3. Start the Vite development server
npm run devFrontend Application URL: http://localhost:5173/
Create a .env file inside the backend/ directory:
DEBUG=True
SECRET_KEY=your_django_secret_key_here
# Database Configuration (leave empty or use sqlite for local development)
DATABASE_URL=postgresql://user:password@host:port/dbname
# Cloudinary (Media Uploads)
CLOUDINARY_CLOUD_NAME=your_cloud_name
CLOUDINARY_API_KEY=your_api_key
CLOUDINARY_API_SECRET=your_api_secret
# Email / Notifications (Brevo / SMTP)
EMAIL_HOST_USER=your_email@gmail.com
EMAIL_HOST_PASSWORD=your_app_password
BREVO_API_KEY=your_brevo_api_keyFor the frontend/ directory (optional .env):
VITE_API_URL=http://127.0.0.1:8000| Method | Endpoint | Description |
|---|---|---|
POST |
/api/login/ |
Obtain JWT access and refresh tokens |
POST |
/api/token/refresh/ |
Refresh JWT access token |
POST |
/api/register/ |
Register a new student account |
GET/POST |
/api/notes/ |
List and upload study notes |
GET/POST |
/api/ct-questions/ |
Class test question repository |
GET/POST |
/api/clubs/ |
Browse and create campus clubs |
GET/POST |
/api/clubs/events/ |
Events schedule and registrations |
GET/POST |
/api/marketplace/items/ |
Marketplace items & listings |
GET/POST |
/api/blood-donors/ |
Blood donor search & requests |
GET |
/api/emergency/ |
Emergency directory & helplines |
GET |
/api/leaderboard/ |
Contributor rankings |
Contributions make the open-source community an amazing place to learn, inspire, and create:
- Fork the project.
- Create your feature branch (
git checkout -b feature/AmazingFeature). - Commit your changes (
git commit -m 'Add some AmazingFeature'). - Push to the branch (
git push origin feature/AmazingFeature). - Open a Pull Request.
Distributed under the MIT License. See LICENSE for more information.
Made with β€οΈ by the CSE Dept, BUBT student team.