A Comprehensive Campus Management System
Full-stack application for managing academic activities, student services, and campus communication
- About
- Features
- Tech Stack
- Project Structure
- Getting Started
- API Documentation
- User Roles
- Screenshots
- Contributing
- License
MyCampus is a modern, full-stack campus management system designed to streamline academic operations, student services, and campus communication. It provides a centralized platform for students, teachers, administrators, and mentors to manage their academic activities efficiently.
- π Modern Tech Stack: Built with React 19, TypeScript, and FastAPI
- π¨ Responsive Design: Mobile-first approach with dark/light theme support
- π Role-Based Access: Secure authentication with multiple user roles
- π€ AI Integration: Built-in AI assistant powered by Google Gemini
- π¬ Real-time Chat: Interactive chat system for campus communication
- π± Progressive Web App: Works seamlessly on desktop and mobile devices
- Personalized home dashboard
- Responsive sidebar navigation
- Mobile-friendly bottom navigation
- Theme switcher (Light/Dark/System)
- Real-time notifications
- Subjects: View all subjects with faculty details and ongoing chapters
- Timetable: Interactive weekly timetable with subject schedules
- Syllabus: Centralized syllabus management
- Teacher Profiles: Browse faculty information and contact details
- Resources: Access study materials and reference books
- Apply for leave requests (Emergency, Sick, Casual, On Duty, Permission)
- Track leave status in real-time
- Leave approval workflow for mentors/admins
- Leave board for viewing all requests
- Automatic leave day calculation
- Events Calendar: View and manage campus events
- Announcements: Important campus updates and notifications
- Event filtering by type (Academic, Holiday, Cultural, etc.)
- Date-based event organization
- Quick Chat: Real-time messaging system
- Group chat rooms
- Private messaging
- Chat history and search
- File sharing support
- Integrated Google Gemini AI
- Academic queries and assistance
- Study help and explanations
- General campus information
- Reminders: Task and deadline management
- Links: Quick access to important resources
- Settings: User preferences and account management
- Achievements: Student achievement tracking
- React 19.1.1 - UI library
- TypeScript 5.8.2 - Type safety
- Vite 6.2.0 - Build tool and dev server
- React Router - Navigation
- Google Gemini AI - AI assistant integration
- FastAPI 0.115.4 - Python web framework
- SQLAlchemy 2.0.36 - ORM and database management
- Uvicorn - ASGI server
- Pydantic 2.9.2 - Data validation
- Python 3.11+ - Runtime
- SQLite - Development database (easily switchable to PostgreSQL for production)
- TypeScript - Static type checking
- Vite - Fast HMR and optimized builds
- ESLint/Prettier - Code formatting (recommended)
mycampus/
βββ components/ # React UI components
β βββ pages/ # Route components
β βββ *.tsx # Shared components
βββ backend/
β βββ app/
β βββ routers/ # API endpoints
β βββ models.py # SQLAlchemy models
β βββ main.py # FastAPI app entrypoint
βββ api.ts # Frontend API client
βββ types.ts # TypeScript definitions
βββ vite.config.ts # Build configuration
| Role | Permissions |
|---|---|
| STUDENT | View subjects, apply leaves, chat, AI assistant |
| TEACHER | Student + manage subjects, view leaves |
| MENTOR | Teacher + approve/reject leaves |
| ADMIN | Full system access |
| Layer | Technology | Purpose |
|---|---|---|
| Frontend | React 19 | UI rendering |
| Language | TypeScript | Type safety |
| Build Tool | Vite | Fast HMR & bundling |
| Backend | FastAPI | REST API |
| ORM | SQLAlchemy | Database abstraction |
| Database | SQLite | Data persistence |
| AI | Gemini API | Assistant features |
Inba-11 β @Inba-11
