|
|
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]
π 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
| Tool | Version | Purpose |
|---|---|---|
| π¦ Node.js | v16+ | Runtime environment |
| π Git | Latest | Version control |
| π MongoDB | 4.4+ | Database |
π₯ 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:
- Frontend: http://localhost:3000
- Backend API: http://localhost:5000
|
|
|
We welcome contributions! Here's how you can help:
- π΄ Fork the repository
- πΏ Create your feature branch
git checkout -b feature/amazing-feature
- π» Commit your changes
git commit -m 'Add amazing feature' - π Push to the branch
git push origin feature/amazing-feature
- π Open a Pull Request
- Open an issue
- Describe the bug and steps to reproduce
- Include screenshots if applicable
This project is licensed under the MIT License - see the LICENSE file for details.