AI-Powered EdTech Learning and Career Platform
The next-generation platform transforming professional development through AI-driven insights and personalized learning.
A comprehensive Full-Stack Web Application (MERN Stack) combining advanced Course Management with EdTech Features. This platform allows users to enroll in courses, track learning progress, and leverage AI-powered tools for career advancement.
- Course Platform: Enroll in and access educational courses.
- My Learning Dashboard: Dedicated student dashboard to track progress.
- Book Catalog: Browse and purchase books.
- Stripe Payments: Secure payment processing for books and courses.
- Order Management: Track orders and purchase history.
- Resume Analyzer: Get detailed feedback on your resume.
- AI Interview Prep: Generate custom interview questions based on your resume.
- LinkedIn Booster: Optimize your LinkedIn profile with AI suggestions.
- Smart Prep: Personalized study plans and interview guides.
- Admin Dashboard: Manage books, courses, users, and purchases.
- Teacher Dashboard: Create and manage courses.
- Book Seller Dashboard: Manage book inventory.
- Student/User Dashboard: Access learning materials and purchase history.
- Framework: React.js (Vite)
- Language: TypeScript
- Styling: Tailwind CSS, Material UI, Emotion
- Routing: React Router DOM (v6)
- Icons: Lucide React, React Icons
- Framework: Node.js & Express.js
- Database: MongoDB (Mongoose ODM)
- Authentication: JWT & bcryptjs
- Payment: Stripe API
bookStoreApp/
├── Backend/ # Express & MongoDB Server
│ ├── controller/ # Logic for Books, Users, Courses, etc.
│ ├── model/ # Mongoose Schemas (User, Book, Course)
│ ├── route/ # API Routes
│ ├── utils/ # Helper functions (Email, etc.)
│ └── index.js # Entry point
│
└── Frontend/ # React + TypeScript Client
├── src/
│ ├── components/ # UI Components (Dashboards, AI Tools, etc.)
│ ├── services/ # API Integrations (Groq, etc.)
│ ├── context/ # AuthProvider & Global State
│ └── layouts/ # Dashboard Layouts
└── vite.config.ts # Vite Configuration- Node.js (v18+ recommended)
- MongoDB (Local or Atlas URI)
- Stripe Account (for payments)
- Navigate to the
Backenddirectory:cd Backend - Install dependencies:
npm install
- Create a
.envfile in theBackendroot with the following variables:PORT=4000 MongoDBURI=mongodb://localhost:27017/bookstore # Or your MongoDB Atlas URI JWT_SECRET=your_super_secret_jwt_key STRIPE_SECRET_KEY=sk_test_... # Your Stripe Secret Key
- Start the server:
The server will run on
npm start
http://localhost:4000.
- Navigate to the
Frontenddirectory:cd Frontend - Install dependencies:
npm install
- Run the development server:
The app will run on
npm run dev
http://localhost:5173.
| Method | Endpoint | Description |
|---|---|---|
| GET | /book |
Get all books |
| POST | /user/signup |
Register a new user |
| POST | /user/login |
Login user |
| POST | /purchase/buy |
Buy a course/book |
| POST | /payment/create-payment-intent |
Initialize Stripe payment |
| GET | /course |
List available courses |
| GET | /admin/stats |
Get dashboard statistics (Admin only) |
Important
- Email Service: The
email.service.jsis currently set to MOCK mode. It logs email tokens to the console instead of sending actual emails. This is perfect for testing without SMTP credentials. - Stripe: The payment controller includes a mock mode if the Stripe key is missing or set to a dummy value.