KnowledgeHub is a fully functional ed-tech platform built using the MERN stack. The platform enables users to create, consume, and rate educational content, offering a seamless and interactive learning experience for students and a robust platform for instructors to showcase their expertise.
KnowledgeHub is designed to make education more accessible and engaging through an intuitive and versatile platform. It bridges the gap between students and instructors, offering a global reach for educational content and expertise.
- Interactive Learning: Students can access a wide range of educational content in various formats.
- Content Creation: Instructors can create and upload educational content, courses, and materials.
- Rating System: Users can rate and review courses, providing feedback to instructors and helping other learners choose the best content.
- Global Connectivity: Connects learners and instructors from around the world.
KnowledgeHub is built on the MERN stack, consisting of the following components:
- MongoDB: Database for storing user data, course content, and ratings.
- ExpressJS: Web application framework for building the backend.
- ReactJS: Front-end library for building the user interface.
- NodeJS: JavaScript runtime for server-side scripting.
The platform's architecture is designed to be scalable and efficient, allowing for a seamless user experience.
- Framework: ReactJS
- Design: Responsive and user-friendly interface
- Features:
- Course browsing and search
- User authentication and profile management
- Content consumption and interaction (videos, quizzes, etc.)
- Ratings and reviews
Tools & Libraries:
- React Router for navigation
- Axios for API requests
- Material-UI for design components
- Framework: ExpressJS
- Features:
- RESTful API for front-end communication
- User authentication and authorization
- Content management (CRUD operations)
- Rating and review system
Tools & Libraries:
- Mongoose for MongoDB interaction
- JWT for authentication
- bcrypt for password hashing
Data Models & Schema:
- User
- Course
- Rating
- Review
The API is designed to be RESTful, providing endpoints for all major functionalities:
The platform can be deployed using various hosting services:
- Frontend: Deployed using services like Netlify or Vercel.
- Backend: Deployed on services like Heroku or AWS.
- Database: Hosted on MongoDB Atlas.
Deployment Scripts:
npm run buildfor building the front-end.npm startfor starting the back-end server.
The platform includes comprehensive testing to ensure stability and performance:
- Types of Testing:
- Unit Testing
- Integration Testing
- End-to-End Testing
- Tools:
- Jest for unit testing
- Supertest for API testing
- Cypress for end-to-end testing
- Clone the repository:
git clone https://github.com/AdarshMishra26/KnowledgeHub.git
- Install dependencies:
cd KnowledgeHub npm install - Set up environment variables:
- Create a
.envfile and add the necessary environment variables (e.g., MongoDB URI, JWT secret).
- Create a
- Run the development server:
npm run dev
Contributions are welcome! Please fork the repository and create a pull request with your changes. Ensure your code follows the project's coding standards.