- Project Description
- System Architecture
- Front-end
- Back-end
- API Design
- Deployment
- Future Enhancements
StudyNotion is a fully functional ed-tech platform built using the MERN stack (MongoDB, ExpressJS, ReactJS, NodeJS). It aims to provide:
- A seamless and interactive learning experience for students
- A platform for instructors to showcase their expertise and connect with learners globally
Key Features:
- User authentication and authorization
- Course creation and management
- Content consumption
- Rating system for courses
- Payment integration
- Cloud-based media management
The platform follows a client-server architecture with three main components:
- Front-end (Client)
- Back-end (Server)
- Database
The front-end is built using ReactJS and designed with Figma. It includes the following pages:
- Homepage
- Course List
- Wishlist
- Cart Checkout
- Course Content
- User Details
- User Edit Details
- Dashboard
- Insights
- Course Management Pages
- View and Edit Profile Details
- Dashboard
- Insights
- Instructor Management
- User Management
- Course Management
- ReactJS
- CSS
- Tailwind
- Redux (for state management)
The back-end uses a monolithic architecture built with Node.js and Express.js.
- User authentication and authorization
- Course management
- Payment integration (Razorpay)
- Cloud-based media management (Cloudinary)
- Markdown formatting for course content
- Node.js
- Express.js
- MongoDB
- JWT (JSON Web Tokens)
- Bcrypt
- Mongoose
- Student schema
- Instructor schema
- Course schema
The API follows REST architectural style and uses JSON for data exchange.
- POST /api/auth/signup
- POST /api/auth/login
- GET /api/courses
- POST /api/courses
- PUT /api/courses/:id
- DELETE /api/courses/:id
- Front-end: Render
- Back-end: Vercelt
- Database: MongoDB Atlas
- Media files: Cloudinary
- Gamification features (Medium priority)
- Personalized learning paths (High priority)
- Social learning features (Medium priority)
- Mobile app development (High priority)
- Machine learning-powered recommendations (Medium to High priority)
- Virtual reality/augmented reality integration (Low to Medium priority)
To set up the project locally, follow these steps:
-
Clone the repository:
git clone https://github.com/TusharMinche/frontEnd_studyNotion.git
-
Navigate to the project directory:
cd frontEnd_studyNotion
-
Install dependencies:
npm install
-
Create a
.env
file in the root directory and add necessary environment variables (if any). -
Start the development server:
npm start
-
Open your browser and visit
http://localhost:3000
to view the application.
We welcome contributions to the StudyNotion project! Here are some guidelines to follow:
- Fork the repository and create your branch from
main
. - If you've added code that should be tested, add tests.
- Ensure your code lints.
- Issue that pull request!
This project is licensed under the MIT License - see the LICENSE.md file for details.
For any queries or suggestions, please reach out to:
Tushar Minche
- GitHub: @TusharMinche
- Email: [tusharminche@gmail.com]
Project Link: https://github.com/TusharMinche/frontEnd_studyNotion