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.
- 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
- 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
- Custom CLI commands
- SASS compilation
- Dockerization
- Testing with pytest
- Continuous integration with GitHub Actions
- Code quality checks with Codacy
- Dockerized development environment
- & more
Before installing and running Digital Odyssey, you need to have the following prerequisites:
- Python 3.7 or higher
- Pip (Python package manager)
- Docker
To install Digital Odyssey, follow these steps:
- Clone the repository:
git clone https://github.com/Haki-Malai/digital-odyssey.git
- Navigate to the project directory:
cd digital-odyssey
- Move to development branch:
git checkout development
- Create a virtual environment:
python -m venv env
- Activate the virtual environment:
. env/bin/activate
- Install the required Python packages:
pip install -r requirements.txt
- Build the Elasticsearch Docker container (Optional):
docker build -t elasticsearch -f Dockerfile.el .
- Activate the virtual environment:
. env/bin/activate
- Start elasticsearch container (or edit .flaskenv ELASTICSEARCH_URL variable):
docker run --name myelasticsearch -m 1gb elasticsearch
- If needed, create some fake data with the cli command provided:
flask fake
- Start the Flask application:
flask run
This will start the Flask application at http://localhost:5000.
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.