Skip to content

azad52786/ScholarBay

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

130 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ ScholarBay Website

LearnCode Logo

A modern, full-stack learning platform for online courses

React Node.js MongoDB TailwindCSS


✨ Features

πŸŽ“ For Students

  • πŸ“ User registration & profile management
  • πŸ” Browse comprehensive course catalog
  • πŸ“Š Track learning progress
  • ⭐ Rate & review courses
  • πŸ›’ Shopping cart functionality
  • πŸ“§ Email notifications

πŸ‘¨β€πŸ« For Instructors

  • πŸ“š Create & manage courses
  • πŸŽ₯ Upload video content
  • πŸ“‘ Organize course sections
  • πŸ’° Payment integration
  • πŸ“ˆ Dashboard analytics
  • πŸ‘₯ Student management

πŸ—οΈ Project Architecture

graph TB
    A[πŸ‘€ User Interface] --> B[βš›οΈ React Frontend]
    B --> C[🌐 Express API]
    C --> D[πŸƒ MongoDB Database]
    C --> E[πŸ’³ Payment Gateway]
    C --> F[☁️ Cloudinary Storage]
    C --> G[πŸ“§ Email Service]
Loading

πŸ“ High-Level Structure

🏠 LearnCode-Website/
β”œβ”€β”€ 🎨 frontend/learning-platfrom/     # React application
β”‚   β”œβ”€β”€ πŸ“¦ src/
β”‚   β”‚   β”œβ”€β”€ 🧩 components/           # Reusable UI components
β”‚   β”‚   β”œβ”€β”€ πŸ“„ pages/               # Application pages
β”‚   β”‚   β”œβ”€β”€ πŸŽ›οΈ Dashboard/           # Admin & instructor panels
β”‚   β”‚   β”œβ”€β”€ πŸ›οΈ catalogs/            # Course catalog features
β”‚   β”‚   └── πŸ”§ utils/               # Helper functions
β”‚   └── πŸ—οΈ build/                   # Production build
└── πŸ–₯️ server/                       # Node.js backend
    β”œβ”€β”€ 🎯 controllers/              # Business logic
    β”œβ”€β”€ πŸ“Š models/                   # Database schemas
    β”œβ”€β”€ πŸ›£οΈ router/                   # API endpoints
    β”œβ”€β”€ βš™οΈ config/                   # App configuration
    └── πŸ”§ utils/                    # Server utilities

πŸš€ Quick Start

πŸ“‹ Prerequisites

Tool Version Purpose
πŸ“¦ Node.js v16+ Runtime environment
πŸ™ Git Latest Version control
πŸƒ MongoDB 4.4+ Database

⚑ Installation

πŸ“₯ 1. Clone Repository
git clone https://github.com/azad52786/LearnCode-website.git
cd LearnCode-website
πŸ“¦ 2. Install Dependencies
# Install frontend dependencies
cd frontend/learning-platfrom
npm install

# Install backend dependencies
cd ../../server
npm install
βš™οΈ 3. Environment Setup

Create .env file in server/ directory:

# Database
MONGODB_URI=your_mongodb_connection_string

# JWT
JWT_SECRET=your_jwt_secret

# Payment Gateways
RAZORPAY_KEY_ID=your_razorpay_key
RAZORPAY_SECRET=your_razorpay_secret
CASHFREE_APP_ID=your_cashfree_app_id
CASHFREE_SECRET_KEY=your_cashfree_secret

# Cloudinary
CLOUDINARY_CLOUD_NAME=your_cloud_name
CLOUDINARY_API_KEY=your_api_key
CLOUDINARY_API_SECRET=your_api_secret

# Email
MAIL_HOST=smtp.gmail.com
MAIL_USER=your_email@gmail.com
MAIL_PASS=your_app_password
πŸƒβ€β™‚οΈ 4. Run Development Servers
# Start backend server (Terminal 1)
cd server
npm run dev

# Start frontend server (Terminal 2)
cd frontend/learning-platfrom
npm start

🌐 Access URLs:

πŸ› οΈ Tech Stack

Frontend

React TailwindCSS Redux React Router

Backend

Node.js Express.js MongoDB Mongoose

Payment & Services

Razorpay Cloudinary Nodemailer


πŸ“š Key Components

🎨 Frontend

  • React 18 - Modern UI framework
  • TailwindCSS - Utility-first styling
  • Redux Toolkit - State management
  • React Router - Navigation
  • Axios - HTTP client
  • React Hook Form - Form handling

βš™οΈ Backend

  • Express.js - Web framework
  • MongoDB - NoSQL database
  • Mongoose - ODM for MongoDB
  • JWT - Authentication
  • Bcrypt - Password hashing
  • Multer - File uploads

πŸ”Œ Integrations

  • Razorpay/CashFree - Payments
  • Cloudinary - Media storage
  • Nodemailer - Email service
  • OTP Generator - Verification
  • CORS - Cross-origin requests

🀝 Contributing

We welcome contributions! Here's how you can help:

Contributors

πŸ”„ Process

  1. 🍴 Fork the repository
  2. 🌿 Create your feature branch
    git checkout -b feature/amazing-feature
  3. πŸ’» Commit your changes
    git commit -m 'Add amazing feature'
  4. πŸš€ Push to the branch
    git push origin feature/amazing-feature
  5. πŸ“ Open a Pull Request

πŸ› Found a Bug?

  • Open an issue
  • Describe the bug and steps to reproduce
  • Include screenshots if applicable

πŸ“„ License

License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ“ž Contact & Support

πŸ‘¨β€πŸ’» Developer

GitHub Email

πŸ†˜ Need Help?


⭐ Star this repo if you find it helpful!

Stars Forks

Made with ❀️ for the learning community