Skip to content

Haki-Malai/digital-odyssey

Repository files navigation

Digital Odyssey

Codacy Badge Codacy Badge GitHub Workflow Status GitHub Workflow Status

Digital Odyssey is an ecommerce web application built using Python Flask framework. The application provides features such as browsing products, adding them to cart, and making orders. The application also uses Elasticsearch for search functionality. There is also a custom CMS provided which is accessible on the /admin page. In this README, we will provide detailed instructions on how to install and run Digital Odyssey. Live demo on render.com.

Features

User

  • Authentication and authorization
  • Responsive navigation bar
  • Sliders section
  • Featured products section
  • Footer
  • Cart functionality
  • Search functionality
  • Wishlist functionality
  • Products pages
  • Checkout functionality
  • Orders functionality
  • Payments functionality
  • Contact us page & more

Admin

  • Authentication and authorization
  • Responsive navigation bar
  • Edit eshop CSS colors
  • Edit eshop logo
  • Edit eshop general data
  • Edit eshop categories
  • Edit eshop products
  • Edit sliders
  • Create sales
  • Handle payments and orders
  • Download config JSON file
  • Upload config JSON file
  • & more

Development

  • Custom CLI commands
  • SASS compilation
  • Dockerization
  • Testing with pytest
  • Continuous integration with GitHub Actions
  • Code quality checks with Codacy
  • Dockerized development environment
  • & more

Prerequisites

Before installing and running Digital Odyssey, you need to have the following prerequisites:

  • Python 3.7 or higher
  • Pip (Python package manager)
  • Docker

Installation

To install Digital Odyssey, follow these steps:

  1. Clone the repository:
git clone https://github.com/Haki-Malai/digital-odyssey.git
  1. Navigate to the project directory:
cd digital-odyssey
  1. Move to development branch:
git checkout development
  1. Create a virtual environment:
python -m venv env
  1. Activate the virtual environment:
. env/bin/activate
  1. Install the required Python packages:
pip install -r requirements.txt
  1. Build the Elasticsearch Docker container (Optional):
docker build -t elasticsearch -f Dockerfile.el .

Running

  1. Activate the virtual environment:
. env/bin/activate
  1. Start elasticsearch container (or edit .flaskenv ELASTICSEARCH_URL variable):
docker run --name myelasticsearch -m 1gb elasticsearch
  1. If needed, create some fake data with the cli command provided:
flask fake
  1. Start the Flask application:
flask run

This will start the Flask application at http://localhost:5000.

Options

flask --help
Usage: flask [OPTIONS] COMMAND [ARGS]...

  A general utility script for Flask applications.

  An application to load must be given with the '--app' option, 'FLASK_APP'
  environment variable, or with a 'wsgi.py' or 'app.py' file in the current
  directory.

Options:
  -e, --env-file FILE   Load environment variables from this file. python-
                        dotenv must be installed.
  -A, --app IMPORT      The Flask application or factory function to load, in
                        the form 'module:name'. Module can be a dotted import
                        or file path. Name is not required if it is 'app',
                        'application', 'create_app', or 'make_app', and can be
                        'name(args)' to pass arguments.
  --debug / --no-debug  Set debug mode.
  --version             Show the Flask version.
  --help                Show this message and exit.

Commands:
  db      Perform database migrations.
  fake
  routes  Show the routes for the app.
  run     Run a development server.
  shell   Run a shell in the app context.

About

Flask e-commerce template project

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published