This project is a full-featured e-commerce web application with a Vue.js frontend and a Python Flask backend. The application allows users to browse products, add them to a cart, and complete purchases.
- Python: Primary language for controller development and hosting the app.
- Vue.js: Front-end development.
- HTML: Creation of Vue components and templates.
- Bootstrap: Enhancing front-end design and navigation.
- SQLite: Database for the app.
- Flask: Web framework of the app.
- Flask-SQLAlchemy: Accessing and modifying SQLite database.
- Flask-Celery: Handling asynchronous background jobs.
- Flask-Caching: Caching API outputs for improved performance.
- Redis: In-memory database for API cache and message broker for Celery.
- Chart.js: Generating various charts.
- Git: Version control management.
Frontend
: Contains the Vue.js application code.Backend
: Contains the Flask application code.
- Node.js and npm (for the frontend)
- Python 3.x (for the backend)
- pip (Python package installer)
-
Navigate to the
Frontend
directory:cd Frontend
-
Install the dependencies:
npm install
-
Start the development server:
npm run serve
The frontend application will be running at
http://localhost:8080
.
-
Navigate to the
Backend
directory:cd Backend
-
Create and activate a virtual environment:
python -m venv venv source venv/bin/activate # On Windows, use `venv\Scripts\activate`
-
Install the dependencies:
pip install -r requirements.txt
-
Start the Flask server:
python3 main.py
The backend application will be running at
http://localhost:5000
.
- User authentication and authorization
- Browse products by category
- Search for products
- Add products to a shopping cart
- Checkout and process orders
- View order history
- Admin dashboard to manage products, categories, and orders
- Register or log in to the application.
- Browse or search for products.
- Add products to the shopping cart.
- Proceed to checkout to complete the purchase.
- View order history from your account dashboard.
This project is licensed under the MIT License. See the LICENSE file for details.
For any questions or suggestions, please open an issue or contact Rishabh Singh.