Final project for TBC education / Geolab
This project is a fully functional e-commerce web application built with Flask. It allows users to browse, search, and purchase products, with features such as:
- User authentication (sign up, login, logout)
- Multilingual support (English & Georgian)
- Product listings with filtering by category, brand, etc.
- Shopping cart and payment system integration (Stripe)
- Admin dashboard to manage users, orders, and products
- Email verification and security measures
- Responsive frontend with templates and static assets
- Docker support for easy deployment
- Python 3.8+ (for local installation)
- Docker and Docker Compose (for Docker installation)
- Clone the repository
git clone https://github.com/Datonix-art/E-Commerce-Web-App.git
cd E-Commerce-Web-App
- Create environment
python -m venv venv
- Activate environment
venv/Scripts/activate
- install dependencies
pip install -r requirements.txt
- Clone the repository
git clone https://github.com/Datonix-art/E-Commerce-Web-App.git
cd E-Commerce-Web-App
This project uses environment variables to manage sensitive data and configuration. Create a .env
file in the project root directory and add the following variables:
SECRET_KEY='your_secret_key'
Description : random string (32+ characters recommended).
SQLALCHEMY_DATABASE_URI='database.db'
Description : database name
SECURITY_PASSWORD_SALT='your_password_salt'
Description : Should be unique, random string
STRIPE_SECRET_KEY='your_stripe_secret_key'
STRIPE_PUBLISHABLE_KEY='your_stripe_publishable_key'
Description : Stripe API keys for payment processing. Use test keys for development and live keys for production.
- Create a Stripe account at stripe.com
- Navigate to Dashboard → Developers → API keys
- Copy your publishable and secret keys
- Assing those keys to variables
RECAPTCHA_PUBLIC_KEY='your_recaptcha_site_key'
RECAPTCHA_PRIVATE_KEY='your_recaptcha_secret_key'
Description : Google reCAPTCHA keys for bot protection
- Visit Google reCaptcha Admin Console
- Register your site
- Select reCAPTCHA v2
- add your domain(s)
- Copy the site Key (public) and secret_key (secret)
- Assing those keys to variables
MAIL_USERNAME='your_email'
MAIL_PASSWORD='your_app_password'
Description : Email credentials for sending verification emails
- Enable 2-Factor Authentication on your Gmail account
- Generate an App Password:
- Go to Google Account settings
- Security → 2-Step Verification → App passwords
- Select "Mail" and generate password
- Use the generated app password (not your regular Gmail password)
- Assing generated password and email to variables
python app.py
The application will be avaiable at http://127.0.0.1:5000/
docker build -t commerce-app .
docker run -d -p 5000:5000 commerce-app
The application will be avaiable at http://localhost:5000
This project was created as part of the TBC education / Geolab Bootcamp. The TBC logo and related branding are owned by their respective entities and may not be reused, modified, or redistributed without permission.
Feel free to fork or use the code under the terms of the MIT license — but do not use the TBC logo or project branding in your own versions or hosted apps.
see MIT License for details.