This is an example project of implementing business processes within a company's backoffice.
This application can be installed on a classical virtualenv
or on a docker-compose structure
.
I recommend the installation of docker-compose structure
because it's very easy and bultin and the app will need for this services:
- django (webapp: the host web product in
python
) - postgres (database: to store the app data)
- celery (worker: to execute asynchronous tasks)
- rabbitmq (message broker: to delivery asynchronous tasks from webapp to worker)
- nginx (static files: to serve css, js and image files)
- docker engine (on your OS): If you need to install (docker engine) [please read the official documentation]
- docker-compose (command): If you need to install (docker-compose tool) [please read the official documentation]
- git (command): If you need to install (git command) [please read the official documentation]
1.) Getting this repository
git clone https://github.com/samukasmk/django_backoffice.git
2.) Creating containers
cd django_backoffice
docker-compose up
- Execute commands above to create all containers
- Waits until the end of the process (it's important)
- Let this command running in current terminal tab
- Open another terminal tab to execute the next command (without stopping this)
Note: on the first time it will be very slow for downloading images.
3.) Creating initial database values
docker-compose exec django make install
This automatic step will:
- Import initial value on db (from json files)
- Create first super admin (and password)
- Create static files to be served on nginx
Note: After execute this command it'll prompt an information asking for (superadmin) user and password, please type it when asked on command line output.
- Open in you browser the url: http://127.0.0.1/admin
- Enter your superadmin username and password
- Use the app! 🎉
Creating products type (assigning on pipelines business process):
Listing business process pipelines:
Listing business process tasks:
Defining custom task arguments:
Declaring custom task on code:
Enabling custom task to run from db:
Executing actions on specific Order:
Accessing Packing Slip details on icon button:
Viewing Packing Slip details on screen:
Printing Packing Slip PDF file:
Viewing Packing Slip PDF file:
Approving or Reproving Seller commissions payments:
Approving or Reproving Roaylties payments: