the Goal of this Project is to build modular Web Apps that are revolving around the Uberaization of any arbitary service, utilizes Docker, Python, GraphQL, Django , ReactJS , Mapbox GL JS , postgresql , FireBase Realtime Database.
This Project is an integration to the open source e-commerce platform Saleor https://saleor.io
- Clone the repository:
$ git clone git@github.com:doitmaan/MobileDeliveryServiceExtensible.git
-
We are using shared folders to enable live code reloading. Without this, Docker Compose will not start:
- Windows/MacOS: Add the cloned
saleor-platform
directory to Docker shared directories (Preferences -> Resources -> File sharing). - Windows/MacOS: Make sure that in Docker preferences you have dedicated at least 5 GB of memory (Preferences -> Resources -> Advanced).
- Linux: No action required, sharing already enabled and memory for Docker engine is not limited.
- Windows/MacOS: Add the cloned
-
Build the application:
$ docker-compose build
- Apply Django migrations:
$ docker-compose run --rm api python3 manage.py migrate
- Collect static files:
$ docker-compose run --rm api python3 manage.py collectstatic --noinput
- Populate the database with example data and create the admin user:
$ docker-compose run --rm api python3 manage.py populatedb --createsuperuser
Note that --createsuperuser
argument creates an admin account for admin@example.com
with the password set to admin
.
- Run the application:
$ docker-compose up
Both storefront and dashboard are quite big frontend projects and it might take up to few minutes for them to compile depending on your CPU. If nothing shows up on port 3000 or 9000 wait until Compiled successfully
shows in the console output.
docker-compose up api worker
for backend services onlydocker-compose up
for backend and frontend services
- Saleor Core (API) - http://localhost:8000
- Saleor Storefront - http://localhost:3000
- Saleor Dashboard - http://localhost:9000
- Jaeger UI (APM) - http://localhost:16686
Disclaimer: Everything you see here is open and free to use as long as you comply with the license.