This is a Virtual Classroom application built using React Native with Expo Router for the frontend and Node.js with MongoDB for the backend. The project enables students and teachers to interact seamlessly in a virtual learning environment.
project-root/
│-- VirtualClassroom/ # Frontend (React Native with Expo Router)
│-- backend/ # Backend (Node.js with Express & MongoDB)
│-- README.md # Documentation
- User Authentication (JWT-based)
- Class Management (Join/Create Classes)
- Live Chat & Discussion Forum
- Assignments & Submissions
- Notifications & Announcements
- User Registration & Authentication (JWT + Bcrypt)
- Class & Course Management
- WebSocket-based Real-time Messaging
- File Uploads (Assignments, Notes)
- Database Management with MongoDB
- React Native (Expo)
- Expo Router
- React Navigation
- Redux Toolkit
- Node.js
- Express.js
- MongoDB with Mongoose
- JWT Authentication
Ensure you have the following installed:
- Node.js (Latest LTS version)
- MongoDB (Local or Cloud-based like MongoDB Atlas)
- Expo CLI
- Git
- Navigate to the backend directory:
cd backend - Install dependencies:
npm install
- Create a
.envfile and configure environment variables:PORT=8000 MONGO_URI=your_mongodb_connection_string JWT_SECRET=your_secret_key
- Start the backend server:
npm run test
- Navigate to the frontend directory:
cd VirtualClassroom - Install dependencies:
npm install
- Start the Expo development server:
npx expo start
- Fork the repository
- Create a new branch (
git checkout -b feature-name) - Commit your changes (
git commit -m 'Added feature') - Push to the branch (
git push origin feature-name) - Create a pull request
Happy Coding! 🚀