CourseCart is a modern e-learning platform that allows users to browse and purchase online courses. It features a robust Angular frontend and a secure Django REST Framework backend.
- 🔐 JWT Authentication: Secure user authentication and authorization
- 🔐 User Authentication: Secure login and registration with OTP verification
- 📖 Course Browsing: View available courses with detailed information
- 🛒 Cart Management: Add courses to cart and manage your wishlist
- 💳 Payments: Integrated Razorpay payment gateway for secure transactions
- 🎓 My Courses: Access and track your purchased courses
- 📱 Responsive Design: Seamless experience across all devices
- Angular 15
- TypeScript
- HTML5 & CSS3
- Python 3
- Django 4
- Django REST Framework
- PostgreSQL
- Razorpay
CourseCart/
├── COURSES/ # Django Backend Application
│ ├── manage.py
│ ├── req.txt
│ └── ...
├── CourseCart/ # Angular Frontend Application
│ ├── src/
│ ├── angular.json
│ ├── package.json
│ └── ...
└── README.md
Ensure you have the following installed on your system:
- Node.js (v14 or higher) & npm
- Python (v3.8 or higher)
- PostgreSQL Database
cd COURSESWindows:
python -m venv myenv
myenv\Scripts\activatemacOS/Linux:
python3 -m venv myenv
source myenv/bin/activatepip install -r req.txtInstall PostgreSQL (if not already installed):
Ubuntu/Debian:
sudo apt-get install postgresql postgresql-contribCreate Database and User:
sudo -u postgres psqlRun the following SQL commands:
CREATE ROLE admin WITH LOGIN PASSWORD 'testpass';
ALTER USER admin WITH SUPERUSER;
\qCreate the database:
createdb -U admin -h localhost COURSECART
Ensure your PostgreSQL server is running and update database settings:
- Edit `TECH_BACKEND/settings.py` or create a `.env` file
- Configure your database credentials:
```python
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'COURSECART',
'USER': 'ADMIN',
'PASSWORD': 'testpass',
'HOST': 'localhost',
'PORT': '5432',
}
}
### 5. Run Migrations
```bash
python manage.py makemigrations
python manage.py migrate
python manage.py runserverThe backend API will be available at http://localhost:8000
cd CourseCartnpm installnpm startor
ng serveOpen your browser and navigate to http://localhost:4200
- Register/Login: Create a new account or login with existing credentials
- Browse Courses: Explore available courses on the platform
- Add to Cart: Select courses and add them to your cart
- Checkout: Complete purchase using Razorpay payment gateway
- Access Courses: View your purchased courses in "My Courses" section
This project is licensed under the MIT License - see the LICENSE file for details.