Skip to content

Latest commit

ย 

History

47 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿซ CampusOS

A full-stack MERN-based college management and campus engagement platform that brings academics, student communities, campus events, discussions, notices, and placement management into one unified application.

CampusOS is designed to provide students, faculty, clubs, and administrators with a centralized platform to manage everyday college activities and stay connected with campus opportunities.


๐Ÿš€ Live Demo

๐Ÿšง Coming Soon


๐Ÿ“ธ Quick View

Welcome

CampusOS Discussions

Dashboard

CampusOS Dashboard

ChatBot (n8n)

CampusOS Dashboard

Clubs

CampusOS Clubs

Alumni

CampusOS Classroom

Events

CampusOS Events

Placement Portal

CampusOS Placement Portal

Admin Panel

CampusOS Admin Panel


โœจ Features

๐Ÿ” Authentication & Authorization

  • JWT-based authentication
  • Access & refresh token authentication
  • Secure password hashing using bcrypt
  • Protected routes
  • Role-Based Access Control (RBAC)
  • Authentication middleware
  • Authorization middleware

๐Ÿ“Š Dashboard

Personalized dashboards provide users with a quick overview of important campus activities.

  • Personalized dashboard
  • Today's summary
  • Upcoming deadlines
  • Upcoming events
  • Latest notices
  • Recent placement drives
  • Activity statistics

๐Ÿ“š Classroom Module

The Classroom module helps students manage their academic activities and resources.

Features

  • Subject management
  • Dynamic timetable (planned)
  • Study resources
  • Assignment deadlines
  • Class representative management
  • Competitive preparation resources
  • Academic information

๐Ÿ‘ฅ Community Module

CampusOS provides a centralized space for students to interact, participate, and collaborate.

๐Ÿ›๏ธ Clubs

  • Browse clubs
  • Follow clubs
  • Club administration
  • Club announcements
  • Club logos and banners
  • Club activities

๐ŸŽซ Events

  • Event creation
  • Event registration
  • Event organizers
  • Event announcements
  • Event posters
  • Event participation tracking

๐Ÿ’ฌ Discussions

  • Community discussions
  • Create discussion threads
  • Replies
  • Moderation support
  • Community interaction

๐Ÿ’ผ Placement Portal

The Placement Portal helps students discover and manage placement opportunities.

Features

  • Placement drives
  • Eligibility checking
  • Apply for placement drives
  • Application tracking
  • Application status
  • Placement dashboard
  • Placement-related information

๐Ÿ“ข Notice System

CampusOS supports targeted notices across different sections of the platform.

Notice Categories

  • Platform
  • Classroom
  • Clubs
  • Events
  • Placement

Features

  • Priority levels
  • Expiry dates
  • Dynamic notice feed
  • Metadata-based notices
  • Targeted notifications

๐Ÿ‘ค User Profile

Users can manage and view their personal campus information.

  • Student profile
  • Academic information
  • Community activity
  • Placement activity
  • Personal statistics
  • Profile picture

๐Ÿ›ก๏ธ Admin Panel

Administrators can manage and moderate different areas of CampusOS.

Features

Features

  • Manage clubs
  • Manage placement drives
  • Manage events
  • Discussion moderation
  • Platform management
  • User management
  • Notice management

โ˜๏ธ File Upload System

CampusOS uses cloud-based file storage for managing application media.

CampusOS uses cloud-based file storage for managing application media.

Features

  • Cloudinary integration
  • Image uploads using Multer
  • Reusable upload component
  • Profile pictures
  • Club logos
  • Club banners
  • Event posters
  • Automatic temporary file cleanup

๐Ÿงฐ Tech Stack

Frontend

  • React.js
  • React Router
  • Tailwind CSS
  • Axios
  • Context API
  • Lucide React

Backend

  • Node.js
  • Express.js
  • MongoDB
  • Mongoose
  • JWT
  • bcrypt
  • Multer
  • Cloudinary

Development Tools

  • Node.js
  • Express.js
  • MongoDB
  • Mongoose
  • JWT
  • bcrypt
  • Multer
  • Cloudinary

Development Tools

  • Git
  • GitHub
  • VS Code
  • Postman

๐Ÿ—๏ธ Project Architecture

CampusOS follows a layered backend architecture to maintain separation of concerns and improve scalability.

                    Client
                      โ”‚
                      โ–ผ
                 React Frontend
                      โ”‚
                      โ”‚ HTTP / REST API
                      โ–ผ
                Express.js Server
                      โ”‚
             โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
             โ–ผ                 โ–ผ
          Routes          Middleware
             โ”‚                 โ”‚
             โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                      โ–ผ
                 Controllers
                      โ”‚
                      โ–ผ
                   Services
                      โ”‚
                      โ–ผ
                 Mongoose Models
                      โ”‚
                      โ–ผ
                   MongoDB

Authentication, authorization, validation, error handling, and other common operations are handled through reusable middleware.

CampusOS follows a layered backend architecture to maintain separation of concerns and improve scalability.

                    Client
                      โ”‚
                      โ–ผ
                 React Frontend
                      โ”‚
                      โ”‚ HTTP / REST API
                      โ–ผ
                Express.js Server
                      โ”‚
             โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
             โ–ผ                 โ–ผ
          Routes          Middleware
             โ”‚                 โ”‚
             โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                      โ–ผ
                 Controllers
                      โ”‚
                      โ–ผ
                   Services
                      โ”‚
                      โ–ผ
                 Mongoose Models
                      โ”‚
                      โ–ผ
                   MongoDB

Authentication, authorization, validation, error handling, and other common operations are handled through reusable middleware.


๐Ÿ“ Project Structure

CampusOS/
โ”‚
โ”œโ”€โ”€ frontend/
โ”‚   โ”œโ”€โ”€ public/
โ”‚   โ”œโ”€โ”€ src/
โ”‚   โ”‚   โ”œโ”€โ”€ api/
โ”‚   โ”‚   โ”œโ”€โ”€ components/
โ”‚   โ”‚   โ”œโ”€โ”€ context/
โ”‚   โ”‚   โ”œโ”€โ”€ pages/
โ”‚   โ”‚   โ”œโ”€โ”€ routes/
โ”‚   โ”‚   โ””โ”€โ”€ ...
โ”‚   โ””โ”€โ”€ package.json
โ”‚
โ”œโ”€โ”€ backend/
โ”‚   โ”œโ”€โ”€ config/
โ”‚   โ”œโ”€โ”€ constants/
โ”‚   โ”œโ”€โ”€ controllers/
โ”‚   โ”œโ”€โ”€ middleware/
โ”‚   โ”œโ”€โ”€ models/
โ”‚   โ”œโ”€โ”€ routes/
โ”‚   โ”œโ”€โ”€ services/
โ”‚   โ”œโ”€โ”€ sockets/
โ”‚   โ”œโ”€โ”€ utils/
โ”‚   โ””โ”€โ”€ package.json
โ”‚
โ”œโ”€โ”€ screenshots/
โ”‚   โ”œโ”€โ”€ dashboard.png
โ”‚   โ”œโ”€โ”€ classroom.png
โ”‚   โ”œโ”€โ”€ clubs.png
โ”‚   โ”œโ”€โ”€ events.png
โ”‚   โ”œโ”€โ”€ discussions.png
โ”‚   โ”œโ”€โ”€ placement.png
โ”‚   โ””โ”€โ”€ admin.png
โ”‚
โ”œโ”€โ”€ .gitignore
โ””โ”€โ”€ README.md

โš™๏ธ Installation & Setup

1. Clone the Repository

https://github.com/Deva-TECH-droid/CampusOS.AI

Navigate into the project:

cd CampusOS

๐Ÿ”ง Backend Setup

Navigate to the backend directory:

cd backend

Install dependencies:

npm install

Create a .env file inside the backend directory.

MONGO_URI=your_mongodb_connection_string

CLIENT_URL=http://localhost:5173

PORT=5000

JWT_ACCESS_SECRET=your_long_random_access_secret
JWT_REFRESH_SECRET=your_long_random_refresh_secret

JWT_ACCESS_EXPIRY=15m
JWT_REFRESH_EXPIRY=7d

INTERNAL_CHATBOT_SECRET=your_long_random_chatbot_secret


CLIENT_URL=http://localhost:5173

PORT=5000

JWT_ACCESS_SECRET=your_long_random_access_secret
JWT_REFRESH_SECRET=your_long_random_refresh_secret

JWT_ACCESS_EXPIRY=15m
JWT_REFRESH_EXPIRY=7d

INTERNAL_CHATBOT_SECRET=your_long_random_chatbot_secret

ADMIN_EMAIL=adminmail@gmail.com
ADMIN_PASSWORD=your_admin_password
ADMIN_FIRST_NAME=your_first_name
ADMIN_LAST_NAME=your_last_name

โš ๏ธ Never commit your .env file or expose database credentials, JWT secrets, or admin credentials publicly.

Start the backend:

npm run dev

๐Ÿ’ป Frontend Setup

Open another terminal and navigate to the frontend:

cd frontend

Install dependencies:

npm install

Start the development server:

npm run dev

The frontend will normally be available at:

http://localhost:5173

๐Ÿ”‘ Environment Variables

The application requires environment variables for database connectivity, authentication, and application configuration.

Variable Description
MONGO_URI MongoDB connection string
CLIENT_URL Frontend application URL
PORT Backend server port
JWT_ACCESS_SECRET Secret used for access tokens
JWT_REFRESH_SECRET Secret used for refresh tokens
JWT_ACCESS_EXPIRY Access token expiration
JWT_REFRESH_EXPIRY Refresh token expiration
INTERNAL_CHATBOT_SECRET Internal chatbot authentication secret
ADMIN_EMAIL Initial admin email
ADMIN_PASSWORD Initial admin password
ADMIN_FIRST_NAME Initial admin first name
ADMIN_LAST_NAME Initial admin last name


๐Ÿ”„ Application Flow

User
 โ”‚
 โ–ผ
React Frontend
 โ”‚
 โ–ผ
Axios API Requests
 โ”‚
 โ–ผ
Express Routes
 โ”‚
 โ–ผ
Authentication / Authorization
 โ”‚
 โ–ผ
Controllers
 โ”‚
 โ–ผ
Services
 โ”‚
 โ–ผ
Mongoose
 โ”‚
 โ–ผ
MongoDB

๐Ÿ”ฎ Upcoming Features

The following features are planned for future releases:

The following features are planned for future releases:

  • โšก Real-time updates using Socket.IO
  • ๐Ÿค– AI-powered chatbot
  • ๐Ÿ”Ž Global search
  • ๐Ÿ”” Notification system
  • ๐Ÿค– AI-powered recommendations
  • ๐Ÿ“ฑ Browser push notifications
  • ๐Ÿณ Docker support
  • โฐ Background job processing
  • ๐Ÿ“Š Advanced analytics
  • ๐Ÿ“š Enhanced academic management

๐Ÿค Contributing

Contributions, suggestions, and feedback are welcome.

To contribute:

  1. Fork the repository
  2. Create a new branch
git checkout -b feature/your-feature
  1. Make your changes
  2. Commit your changes
git add .
git commit -m "Add your feature"
  1. Push your branch
git push origin feature/your-feature
  1. Open a Pull Request

๐Ÿ› Issues & Feedback

If you find a bug or have a feature suggestion, feel free to open an issue in the repository.


๐Ÿ“„ License

This project is licensed under the MIT License. Distributed under the MIT License. See LICENSE for more information.


๐Ÿ‘จโ€๐Ÿ’ป Authors

Devansh Upadhyay

Contibutor

Vimarsh Srivastava

Contributor

Shreyansh Tripathi

Contributor

Himanshu Singh

Contributor


โญ Support

If you find CampusOS useful or interesting, consider giving the repository a โญ on GitHub.


About

Campus OS Campus OS is a modern campus management and student productivity platform** designed to bring essential academic and campus activities into one centralized system. It provides a structured digital environment for managing students, academic information, tasks, events, and other campus-related operations.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages