https://github.com/goyam02/amazon-clone
A fully functional e-commerce platform inspired by Amazon, built using Flask, SQLAlchemy, and WTForms. This project simulates an online shopping experience where users can browse products, add them to the cart, proceed to checkout, and manage user authentication.
https://github.com/goyam02/amazon-clone
backend database flask flask-application flask-sqlalchemy frontend html-css-javascript jinja2-templates js python-library python3 sqlalchemy sqlalchemy-python venv-python wsgi-application wtforms
Last synced: 13 days ago
JSON representation
A fully functional e-commerce platform inspired by Amazon, built using Flask, SQLAlchemy, and WTForms. This project simulates an online shopping experience where users can browse products, add them to the cart, proceed to checkout, and manage user authentication.
- Host: GitHub
- URL: https://github.com/goyam02/amazon-clone
- Owner: Goyam02
- License: mit
- Created: 2025-03-15T17:10:16.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-03-21T17:01:00.000Z (about 1 year ago)
- Last Synced: 2025-06-03T11:22:31.818Z (11 months ago)
- Topics: backend, database, flask, flask-application, flask-sqlalchemy, frontend, html-css-javascript, jinja2-templates, js, python-library, python3, sqlalchemy, sqlalchemy-python, venv-python, wsgi-application, wtforms
- Language: Python
- Homepage:
- Size: 42.4 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 🛒 Amazon Clone
  
Amazon Clone is a **full-fledged e-commerce web application** built using **Flask**, featuring user authentication, product management, cart functionality, and secure checkout. It mimics key features of Amazon to provide a seamless shopping experience.
## 🌟 Features
✅ **User Authentication** - Register/Login with secure password hashing
✅ **Product Catalog** - Browse products with categories & search
✅ **Shopping Cart** - Add/remove items & manage orders
✅ **Secure Checkout** - Place orders with stored details
✅ **User Reviews** - Allow customers to leave feedback
✅ **Pagination** - Products displayed with paginated views
✅ **CSRF Protection** - Security implemented for safe transactions
✅ **Mobile Responsive** - Fully responsive design with Bootstrap
✅ **Admin Panel** - Manage products & users (Future update!)
---
## 📸 Screenshots
| Home Page | Product Details | Shopping Cart |
|-----------|----------------|---------------|
|  |  |  |
*More screenshots available in the `/static/screenshots/` directory!*
---
## 🛠 Tech Stack
| **Technology** | **Usage** |
|--------------|-------------|
| **Flask** | Backend framework |
| **Jinja2** | Templating engine |
| **SQLAlchemy** | Database |
| **Bootstrap** | Frontend styling |
| **JavaScript** | Dynamic UI interactions |
| **Render** | Deployment |
---
## 🚀 Installation & Setup
### 1️⃣ Clone the Repository
```bash
git clone https://github.com/Goyam02/Amazon-Clone.git
cd Amazon-Clone
```
### 2️⃣ Create Virtual Environment & Install Dependencies
```bash
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt
```
### 3️⃣ Set Up the Database
```bash
python seed_db.py # Seeds the database with sample products
```
### 4️⃣ Run the Application
```bash
python app.py
```
Your application will be live at `http://127.0.0.1:5000/` 🎉
---
## 🌐 Deployment (Render)
### 1️⃣ Install Gunicorn
```bash
pip install gunicorn
```
### 2️⃣ Create `Procfile`
```plaintext
gunicorn -w 4 -b 0.0.0.0:8000 app:create_app()
```
### 3️⃣ Deploy on Render
- Sign up on **[Render](https://render.com/)**
- Create a new **Web Service**
- Connect your GitHub repository
- Set the **Build Command**: `pip install -r requirements.txt`
- Set the **Start Command**: `gunicorn app:create_app()`
- Click **Deploy** 🚀
---
## 🛠 Troubleshooting
❌ *Gunicorn Import Error?*
```plaintext
gunicorn.errors.AppImportError: Failed to find attribute 'app' in 'app'.
```
✅ Fix: Make sure `app.py` has the following structure:
```python
from flask import Flask
def create_app():
app = Flask(__name__)
return app
if __name__ == "__main__":
app = create_app()
app.run(debug=True)
```
❌ *Database Not Found?*
```plaintext
db.sqlite3 does not exist
```
✅ Fix: Run `python seed_db.py` to initialize the database.
---
## 🎯 Future Improvements
🚀 **Admin Dashboard** - Manage products & orders easily
🚀 **Payment Gateway** - Implement Stripe/PayPal
🚀 **Wishlist Feature** - Save favorite products
---
## 🎉 Contributing
We welcome contributions! Follow these steps:
1. **Fork** the repository
2. **Create** a new branch (`feature-branch`)
3. **Commit** your changes (`git commit -m "Added feature XYZ"`)
4. **Push** to your branch (`git push origin feature-branch`)
5. **Submit** a Pull Request 🚀
---
## 📜 License
This project is licensed under the **MIT License**. See the [`LICENSE`](https://github.com/Goyam02/Amazon-Clone/blob/master/LICENSE) file for details.
---
## 💬 Contact
For any queries, feel free to reach out!
📧 **Email:** goyamjain02@gmail.com
🐦 **Twitter:** [@goyamjain02](https://twitter.com/goyamjain02)
📌 **GitHub:** [Goyam02](https://github.com/Goyam02)
---
# ⭐ **If you found this project useful, don't forget to give it a star!** ⭐