Skip to content

Latest commit

Β 

History

16 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸŽ“ CampusConnect β€” A Smart Student Community and Academic Support Platform

React Vite Tailwind CSS Django Django REST Framework JWT Auth License

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.


πŸ›οΈ Academic Affiliation & Supervision

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

πŸ‘₯ Project Team & Contributors

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

🌟 Key Features

πŸ“š 1. Academic Hub

  • 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.

πŸ›οΈ 2. Clubs & Events Hub

  • 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.

πŸ›’ 3. Campus Marketplace & Lost/Found

  • 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.

🩸 4. Blood Donation Network

  • 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.

🚨 5. Emergency Services & Helplines

  • Quick access to campus security, medical center, ambulance contacts, proctor office, and emergency helplines.

πŸ† 6. Community Gamification & Leaderboard

  • Top student contributors ranked by notes uploaded, blood donations, and community helpfulness badges.

πŸ” 7. Security & User Management

  • 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 / বাংলা).

πŸ› οΈ Tech Stack

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

πŸ“‚ Project Structure

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

πŸš€ Quick Start Guide

Prerequisites

  • Python 3.13+ installed
  • Node.js 18+ & npm installed
  • Git installed

1️⃣ Backend Setup (Django)

# 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:8000

Backend API URL: http://127.0.0.1:8000/
Admin Dashboard: http://127.0.0.1:8000/admin/


2️⃣ Frontend Setup (React + Vite)

# 1. Navigate to the frontend directory
cd ../frontend

# 2. Install dependencies
npm install

# 3. Start the Vite development server
npm run dev

Frontend Application URL: http://localhost:5173/


βš™οΈ Environment Configuration

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_key

For the frontend/ directory (optional .env):

VITE_API_URL=http://127.0.0.1:8000

πŸ“‘ API Endpoints Overview

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

🀝 Contributing

Contributions make the open-source community an amazing place to learn, inspire, and create:

  1. Fork the project.
  2. Create your feature branch (git checkout -b feature/AmazingFeature).
  3. Commit your changes (git commit -m 'Add some AmazingFeature').
  4. Push to the branch (git push origin feature/AmazingFeature).
  5. Open a Pull Request.

πŸ“„ License

Distributed under the MIT License. See LICENSE for more information.


Made with ❀️ by the CSE Dept, BUBT student team.

About

An all-in-one university community & management platform featuring academic hub, clubs, events, peer marketplace, blood donation network, and emergency services. Built with React & Django REST Framework.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages