Table of Contents
Distributed Mall is a multi vendor eCommerce platform, which will allow independent retailers to enter into trade "alliances" in order to achieve economies of scale and the provision of innovative digital services, so as to make them competitive with shopping malls and e-commerce stores. Τhe platform consists of two subsystems:
- distributed-mall-admin → content management system for retailers
- distributed-mall-app → location based mobile application of the end users
Distributed Mall Admin is the interface of the sellers through which they can perform the following operations:
- Creating a seller account.
- Introducing a new product in the online catalog.
- Introducing a new product in the online repository.
- Product management.
- Product modification in the electronic repository.
- Τhe display of sales.
- Τhe display of statistics and graphs.
Main frameworks/libraries used to develop this project:
- Python 3.5 or greater
- PostgreSQL
- Pip
- Node.js
- Gulp
-
Clone the repo:
git clone https://github.com/spyreto/distributed-mall-admin.git
-
Enter inside the project:
cd distributed-mall-admin
-
Create
.env
file and add the following lines:DEBUG=True DATABASE_URL='postgresql://[user[:password]@][netloc][:port][/dbname][?param1=value1&...]db?' # Example: DATABASE_URL=postgres://spyreto:1234@localhost:5432/distributed_mall_db? ALLOWED_HOSTS="localhost 192.168.2.10" # Example: ALLOWED_HOSTS="localhost 192.168.2.10" SECRET_KEY= 'youSecretKey' GOOGLE_MAPS_API_KEY='youGoogleMapsApiKey'
-
Setup
psql
database. -
Create a python virtual environment within the project directory and activate it.
-
Install the required
python packages
:pip install -r requirements.txt
-
Install the required
node packages
:npm i
-
Create
static files
using Gulp:gulp build
-
It's time to migrate the initial database schema to the project's psql database using the management script:
py manage.py makemigrations py manage.py migrate
-
Create the
admin user
for the project: -
Finally, you can run the Distributed Mall vendor interface by typing:
py manage.py runserver 0.0.0.0:8000
The following commands have been created, which were considered necessary during the development of the platform.
-
Import products categories:
py manage.py import_products_categories "path-to-csv-file"
-
Import companies categories (etc clothes shop):
py manage.py import_companies_categories"path-to-csv-file"
-
Import products from the following categories → clothing_products | footwear_products | bags | wallets | watches
py manage.py import_["product-category"]_categories "path-to-csv-file" # Example: py manage.py import_products_categories samples/products-categories.csv
-
Close inactive offers or activates valid offers
py manage.py update_offers
-
Remove_inactive_manufacturers and shop a list of them
-l flag
py manage.py remove_inactive_manufacturers -l
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the Apache License 2.0. See LICENSE.txt
for more information.
Dimos - Spiridon Dimou - Linkedin - [email protected]
Project Link: Distributed Mall Admin