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.
๐ง Coming Soon
- JWT-based authentication
- Access & refresh token authentication
- Secure password hashing using bcrypt
- Protected routes
- Role-Based Access Control (RBAC)
- Authentication middleware
- Authorization middleware
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
The Classroom module helps students manage their academic activities and resources.
- Subject management
- Dynamic timetable (planned)
- Study resources
- Assignment deadlines
- Class representative management
- Competitive preparation resources
- Academic information
CampusOS provides a centralized space for students to interact, participate, and collaborate.
- Browse clubs
- Follow clubs
- Club administration
- Club announcements
- Club logos and banners
- Club activities
- Event creation
- Event registration
- Event organizers
- Event announcements
- Event posters
- Event participation tracking
- Community discussions
- Create discussion threads
- Replies
- Moderation support
- Community interaction
The Placement Portal helps students discover and manage placement opportunities.
- Placement drives
- Eligibility checking
- Apply for placement drives
- Application tracking
- Application status
- Placement dashboard
- Placement-related information
CampusOS supports targeted notices across different sections of the platform.
- Platform
- Classroom
- Clubs
- Events
- Placement
- Priority levels
- Expiry dates
- Dynamic notice feed
- Metadata-based notices
- Targeted notifications
Users can manage and view their personal campus information.
- Student profile
- Academic information
- Community activity
- Placement activity
- Personal statistics
- Profile picture
Administrators can manage and moderate different areas of CampusOS.
- Manage clubs
- Manage placement drives
- Manage events
- Discussion moderation
- Platform management
- User management
- Notice management
CampusOS uses cloud-based file storage for managing application media.
CampusOS uses cloud-based file storage for managing application media.
- Cloudinary integration
- Image uploads using Multer
- Reusable upload component
- Profile pictures
- Club logos
- Club banners
- Event posters
- Automatic temporary file cleanup
- React.js
- React Router
- Tailwind CSS
- Axios
- Context API
- Lucide React
- Node.js
- Express.js
- MongoDB
- Mongoose
- JWT
- bcrypt
- Multer
- Cloudinary
- Node.js
- Express.js
- MongoDB
- Mongoose
- JWT
- bcrypt
- Multer
- Cloudinary
- Git
- GitHub
- VS Code
- Postman
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.
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
https://github.com/Deva-TECH-droid/CampusOS.AINavigate into the project:
cd CampusOSNavigate to the backend directory:
cd backendInstall dependencies:
npm installCreate 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.envfile or expose database credentials, JWT secrets, or admin credentials publicly.
Start the backend:
npm run devOpen another terminal and navigate to the frontend:
cd frontendInstall dependencies:
npm installStart the development server:
npm run devThe frontend will normally be available at:
http://localhost:5173
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 |
User
โ
โผ
React Frontend
โ
โผ
Axios API Requests
โ
โผ
Express Routes
โ
โผ
Authentication / Authorization
โ
โผ
Controllers
โ
โผ
Services
โ
โผ
Mongoose
โ
โผ
MongoDB
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
Contributions, suggestions, and feedback are welcome.
To contribute:
- Fork the repository
- Create a new branch
git checkout -b feature/your-feature- Make your changes
- Commit your changes
git add .
git commit -m "Add your feature"- Push your branch
git push origin feature/your-feature- Open a Pull Request
If you find a bug or have a feature suggestion, feel free to open an issue in the repository.
This project is licensed under the MIT License.
Distributed under the MIT License. See LICENSE for more information.
Contibutor
Contributor
Contributor
Contributor
If you find CampusOS useful or interesting, consider giving the repository a โญ on GitHub.







