A modern EdTech SaaS-style platform built with React + Vite and Express.js.
Designed to showcase full-stack architecture, scalable UI, and real-world learning experience features.
- ✨ Overview
- 🚀 Live Demo
- 🔥 Key Highlights
- 🧩 Features
- 🏗 Architecture
- 📂 Project Structure
- ⚙️ Tech Stack
- 📡 API Endpoints
- 🛠 Getting Started
- 📸 Screenshots
- 📈 Portfolio Value
- 🚧 Future Improvements
- 🤝 Contributing
- 👨💻 Author
PP Expert is a full-stack e-learning platform that simulates a real-world EdTech application.
It includes:
- Course browsing, filtering, and learning modules
- Gamification (points, badges, leaderboard)
- Quiz system with scoring
- Dashboard analytics and progress tracking
This project demonstrates production-level frontend + backend integration with modern tooling.
- ⚡ Full-stack architecture (React + Express)
- 🎯 SaaS-style UI with TailwindCSS
- 🧠 Context API + localStorage state management
- 📊 Analytics dashboard with Recharts
- 🎮 Gamification system (points, badges, leaderboard)
- 🚀 Optimized performance with lazy loading
- 🔍 Course search, filter, and categorization
- ❤️ Wishlist / bookmarks (localStorage)
- 📈 Course progress tracking
- 🎥 Video lesson player
- 📝 Notes per lesson
- 🧠 Quiz system with scoring
- ⭐ Course rating system
- 🌙 Dark mode toggle
- 📈 Learning analytics (Recharts)
- 🏆 Completed courses tracking
- 🎯 Recommended courses
- 🪙 Points system (lessons, quizzes, courses)
- 🏅 Badge unlocking system
- 📜 Certificate generation UI
- 🏆 Leaderboard ranking
- 🔗 RESTful API architecture
- 🧱 Modular routing (courses, contact, activity)
- 🔍 Filtering, searching, rating APIs
- 🛡 Security with Helmet + rate limiting
- 📊 Request logging with Morgan
- ❗ Global error handling
Frontend (React + Vite)
↓
Context API + LocalStorage
↓
REST API (Express.js)
↓
In-Memory / JSON Data Store
pp-expert/
├── client/ # React + Vite frontend
│ ├── src/
│ │ ├── components/
│ │ ├── pages/
│ │ ├── context/
│ │ ├── data/
│ │ ├── hooks/
│ │ └── App.jsx
│
├── server/ # Express backend
│ ├── routes/
│ ├── data/
│ └── server.js
│
└── README.md| Layer | Technology |
|---|---|
| Frontend | React 18 + Vite |
| Styling | Tailwind CSS |
| Routing | React Router v6 |
| Charts | Recharts |
| State Mgmt | Context API + localStorage |
| Backend | Node.js + Express |
| Security | Helmet + express-rate-limit |
| Logging | Morgan |
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/health |
Health check |
| GET | /api/courses |
Fetch courses |
| GET | /api/courses/:id |
Course details |
| POST | /api/courses/:id/rate |
Submit rating |
| POST | /api/contact |
Contact form |
| POST | /api/activity |
Log activity |
| GET | /api/activity/:userId |
User activity |
cd client && npm install
cd ../server && npm installcd server
npm run devcd client
npm run dev
---
## 📈 Portfolio Value
This project demonstrates:
* 🧠 Full-stack application design
* 🎯 Real-world EdTech feature implementation
* ⚡ Performance optimization (lazy loading, code splitting)
* 🎮 Gamification systems (points, badges, leaderboard)
* 📊 Data visualization with charts
* 🧩 Clean and scalable architecture
---
## 🚧 Future Improvements
* 🔐 Authentication (JWT / OAuth)
* 💾 Database integration (MongoDB / PostgreSQL)
* 💳 Payment gateway for premium courses
* 📱 Mobile app version
* 📥 PDF certificate generation
---
## 🤝 Contributing
Contributions are welcome!
1. Fork the repository
2. Create a new branch
3. Make changes
4. Submit a Pull Request
---
## 👨💻 Author
**Vinayak**
🔗 GitHub: https://github.com/vinushinde2525-sys
---
<p align="center">
⭐ Star this repository if you found it useful!
</p>

