Learnify is a comprehensive e-learning platform that connects students with educators, providing a seamless learning experience with course management, discussion forums, and assignment submission capabilities.
The project is divided into two main parts:
- Frontend: React-based user interface 🖥️
- Backend: RESTful API server ⚙️
- User authentication (Student and Educator roles) 🔐
- User profiles and dashboard 👤
- Course browsing and enrollment 📚
- Course content organized in sections 📋
- Discussion forums for each course 💬
- Assignment submission and grading ✍️
- Responsive design for all devices 📱
- React.js ⚛️
- React Router for navigation 🧭
- Material UI components 🎭
- CSS for styling 🎨
- Axios for API communication 🔄
- JWT authentication with cookies 🍪
- Clone the repository:
git clone https://github.com/yourusername/learnify.git- Navigate to the Frontend directory:
cd c:\Users\Admin\Downloads\Learnify\Frontend- Install dependencies:
npm install- Start the development server:
npm start- The application will be available at
http://localhost:3000🌐
Create a .env file in the Frontend directory with the following variables:
REACT_APP_API_URL=http://localhost:8000
- User authentication and authorization 🔐
- Course management 📚
- Content management (videos, PDFs) 📁
- Discussion forum functionality 💬
- Assignment creation and grading 📝
- Student enrollment management 👨👩👧👦
- User profile management 👤
- Node.js 🟢
- Express.js 🚂
- MongoDB for database 🍃
- JWT for authentication 🔑
- Multer for file uploads 📤
- Bcrypt for password hashing 🔒
- Navigate to the Backend directory:
cd c:\Users\Admin\Downloads\Learnify\Backend- Install dependencies:
npm install- Create a
.envfile with the following variables:
PORT=8000
MONGODB_URI=mongodb://localhost:27017/learnify
JWT_SECRET=your_jwt_secret_key
- Start the server:
npm start- The API will be available at
http://localhost:8000🌐
POST /student/signup- Register a new studentPOST /student/login- Student loginPOST /educator/signup- Register a new educatorPOST /educator/login- Educator login
GET /courses- Get all coursesGET /courses/:id- Get course detailsPOST /courses- Create a new course (educator only)PUT /courses/:id- Update course (educator only)DELETE /courses/:id- Delete course (educator only)
GET /:usertype/:courseId/discussion- Get all discussions for a coursePOST /:usertype/:courseId/discussion- Create a new discussion post
GET /courses/:courseId/assignments- Get all assignments for a coursePOST /courses/:courseId/assignments- Create a new assignment (educator only)POST /courses/:courseId/assignments/:assignmentId/submit- Submit an assignment (student only)PUT /courses/:courseId/assignments/:assignmentId/grade- Grade an assignment (educator only)
To clone this repository to your local machine, follow these steps:
- Open your terminal or command prompt
- Navigate to the directory where you want to store the project
- Run the following command:
git clone https://github.com/yourusername/learnify.git- Once cloning is complete, you'll have a local copy of the repository ✅