Welcome to the Studynotion repository! This project is an educational technology (Edtech) website built using the MERN stack (MongoDB, Express.js, React, Node.js). Studynotion aims to provide a comprehensive platform for students and educators to manage and access educational content efficiently.
- User Authentication: Secure login and registration for students and educators.
- Course Management: Create, update, and manage courses.
- Content Delivery: Stream video lectures and provide downloadable resources.
- Interactive Quizzes: Conduct quizzes with instant feedback.
- Progress Tracking: Monitor student progress and performance.
- Discussion Forums: Engage in topic-specific discussions.
Ensure you have the following installed:
- Node.js (>=14.x)
- npm (>=6.x) or yarn (>=1.x)
- MongoDB (>=4.x)
-
Clone the repository:
git clone https://github.com/yourusername/studynotion.git cd studynotion -
Install server dependencies:
cd server npm install -
Install client dependencies:
cd ../client npm install -
Create environment variables:
-
Create a
.envfile in theserverdirectory and add your MongoDB URI and other necessary configurations.MONGODB_URI=your_mongodb_uri JWT_SECRET=your_jwt_secret
-
-
Run the development server:
-
Start the backend server:
cd server npm start -
Start the frontend development server:
cd ../client npm start
-
- Or just import project and perform
npm iornpm installthen to start :npm run devHere this command will run frontend and backend simultaneously This is possible with the help of https://www.npmjs.com/package/concurrently .
-
Open your browser:
Navigate to
http://localhost:3000to see the application in action.
Once the project is up and running, you can:
- Register as a new user (student or educator).
- Log in with your credentials.
- Explore and enroll in available courses.
- Educators can create and manage courses.
- Track your progress.
- Engage in discussions in the forums section.
-
Frontend:
- React
- Redux (for state management)
- React Router (for navigation)
- Axios (for HTTP requests)
- Tailwind-CSS ( for styling )
-
Backend:
- Node.js
- Express.js
- MongoDB (Mongoose for object modeling)
- JWT (for authentication)
studynotion/
├── client/ # React frontend
│ ├── public/
│ └── src/ # React components, redux, etc.
├── server/ # Express backend
│ ├── config/ # Configuration files
│ ├── controllers/ # Route controllers
│ ├── models/ # Mongoose models
│ ├── routes/ # Express routes
│ └── utils/ # Utility functions
├── .gitignore
├── README.md
└── package.json
We welcome contributions to improve Studynotion! To contribute:
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch). - Make your changes.
- Commit your changes (
git commit -m 'Add some feature'). - Push to the branch (
git push origin feature-branch). - Open a pull request.
Please ensure your code adheres to our coding standards and includes appropriate tests.
If you have any questions or suggestions, feel free to reach out to us at [sidjiyani2003@gmail.com].
Happy learning!