A modern online learning platform inspired by Physics Wallah, built with React frontend, Node.js backend, and MongoDB database.
- Modern UI/UX: Clean and responsive design matching Physics Wallah's interface
- Course Management: Browse and access various courses
- Library System: Access to short notes, mindmaps, and study materials
- Search Functionality: Search through courses and content
- User Authentication: Login system (ready for implementation)
- Responsive Design: Works on desktop, tablet, and mobile devices
- React 18
- SEO Optimized
- React Router DOM
- Axios for API calls
- CSS3 with modern styling
- Node.js
- Express.js
- MongoDB with Mongoose
- CORS enabled
- JWT ready for authentication
physics-wallah-clone/
├── client/ # React frontend
│ ├── public/
│ ├── src/
│ │ ├── components/ # React components
│ │ ├── App.js # Main App component
│ │ └── index.js # Entry point
│ └── package.json
├── server/ # Node.js backend
│ ├── index.js # Server entry point
│ ├── .env # Environment variables
│ └── package.json
├── package.json # Root package.json
└── README.md
- Node.js (v14 or higher)
- MongoDB (local installation or MongoDB Atlas)
- npm or yarn
-
Clone the repository
git clone <your-repo-url> cd physics-wallah-clone
-
Install all dependencies
npm run install-all
-
Set up environment variables
- Copy
server/.env.exampletoserver/.env - Update MongoDB connection string in
server/.env
- Copy
-
Start MongoDB
- If using local MongoDB:
mongod - If using MongoDB Atlas: Update connection string in
.env
- If using local MongoDB:
-
Run the application
npm run dev
This will start both the backend server (port 5000) and frontend development server (port 3000).
- Backend only:
npm run server - Frontend only:
npm run client - Install backend deps:
cd server && npm install - Install frontend deps:
cd client && npm install
GET /api/courses- Get all available courses
GET /api/library- Get library content (short notes, mindmaps)
- ✅ Company logo in top left
- ✅ Search box in center
- ✅ Login button in top right
- ✅ Left sidebar navigation
- ✅ Course grid display
- ✅ Featured content section
- ✅ Library navigation
- ✅ Short Notes section with carousel
- ✅ Mindmaps section
- ✅ PDF download functionality
- ✅ View Now buttons
- ✅ Responsive design
- ✅ Sidebar with Learn Online, Study Packs, and Offline sections
- ✅ Active state highlighting
- ✅ Responsive mobile navigation
Update the courses array in server/index.js or create a proper database model.
- Main styles:
client/src/App.css - Global styles:
client/src/index.css - Component-specific styles are inline for better organization
- Create component in
client/src/components/ - Add route in
client/src/App.js - Add navigation link in sidebar
- User authentication and registration
- Course enrollment system
- Video player integration
- Progress tracking
- Payment integration
- Admin dashboard
- Real-time notifications
- Mobile app (React Native)
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
MIT License - feel free to use this project for learning and development purposes.
For questions or support, please open an issue in the repository.