A comprehensive platform for managing mentor-mentee relationships, facilitating communication, tracking attendance, and managing leave requests.
- Role-based Access Control
- Admin, Mentor, and Mentee roles
- Secure authentication and authorization
- User profile management
- Smart mentor-mentee pairing
- Easy reassignment when needed
- Performance tracking
- Real-time attendance monitoring
- Detailed attendance reports
- Analytics and insights
- In-app messaging
- Announcements and notifications
- Discussion forums
- Leave request submission
- Approval workflow
- Leave history and tracking
- Frontend: React.js, TailwindCSS
- Backend: Node.js, Express.js
- Database: MongoDB
- Authentication: JWT
- Deployment: Docker, AWS
- Node.js (v14 or higher)
- MongoDB (v4.4 or higher)
- npm (v6 or higher) or yarn
-
Clone the repository
git clone https://github.com/yourusername/MMSpace.git cd MMSpace -
Install dependencies
# Install server dependencies cd server npm install # Install client dependencies cd ../client npm install
-
Set up environment variables
- Create
.envfiles in bothserverandclientdirectories - Add required environment variables
- Create
-
Start the application
# Start server cd server npm run dev # Start client (in a new terminal) cd ../client npm start
This project is licensed under the MIT License - see the LICENSE file for details.
Contributions are welcome! Please feel free to submit a Pull Request.
For any queries, please contact your-email@example.com
- Real-time Chat: Group and individual messaging with Socket.IO
- Leave Management: Request and approve leaves
- Attendance Tracking: Monitor student attendance
- Grievance System: Submit and track grievances
- Announcements: Broadcast important updates
- Analytics Dashboard: Comprehensive insights for admins
- React 18
- Vite
- Tailwind CSS
- Socket.IO Client
- React Router
- React Hook Form
- Node.js
- Express
- MongoDB
- Socket.IO
- JWT Authentication
The application is deployed using:
- Server: Render (Docker)
- Client: Vercel
- Database: MongoDB Atlas
For detailed deployment instructions, see DEPLOYMENT.md
-
Deploy Server to Render
- Push code to GitHub
- Create Web Service on Render
- Set environment variables
- Deploy using Docker
-
Deploy Client to Vercel
- Connect GitHub repository
- Configure build settings
- Set
VITE_API_URLenvironment variable - Deploy
See DEPLOYMENT.md for complete instructions.
- Node.js 18+
- MongoDB (local or Atlas)
- npm or yarn
-
Clone the repository
git clone <repository-url> cd MMSpace
-
Install server dependencies
cd server npm install -
Install client dependencies
cd ../client npm install -
Configure environment variables
Server
.env:NODE_ENV=development PORT=5000 MONGODB_URI=mongodb://localhost:27017/mmspace JWT_SECRET=your-secret-key CLIENT_URL=http://localhost:3000 CORS_ORIGIN=http://localhost:3000
Client
.env:VITE_API_URL=http://localhost:5000 -
Run the application
Terminal 1 (Server):
cd server npm run devTerminal 2 (Client):
cd client npm run dev -
Access the application
- Client: http://localhost:3000
- Server: http://localhost:5000
- JWT-based authentication
- Password hashing with bcrypt
- CORS configuration
- Input validation
- Environment variable protection
This project is licensed under the MIT License.
See CONTRIBUTING.md for contribution guidelines.
For support, please open an issue in the GitHub repository.
Built with ❤️ by the MMSpace Team