- Python3
- Docker
See compose/example.env
for reference.
The project require a file compose/.env
to contain
following environment variables:
POSTGRES_USER
- Username for the dbPOSTGRES_PASSWORD
- database passwordPOSTGRES_DB
- database namePOSTGRES_SERVER
- database hostname (db
- by default)GRAFANA_DB_USER
- username for database user for grafana (will be created if not exists)GRAFANA_DB_PASSWORD
- password for database grafana userGF_SECURITY_ADMIN_PASSWORD
- admin password for Grafana DashboardSECRET_KEY
- a secret key for token verificationsPROJECT_NAME
- project titleSCHEMA
- schema of a web page (preferhttps
)HOSTNAME
- hostname of a web page e.g:example.com
PORT
- port over which web page is servedPYTHON_VERSION
- which python version is to be used (specify exact version)DEBUG
- boolean flag for DEBUG mode (true
enables fake login and Django debug)oauth_appID
- application ID for oauthoauth_shared_secret
- application secret for ouathoauth_authorization_baseURL
- an URL for user authoauth_get_infoURL
- tokeninfo URLoauth_tokenURL
- an URL to obtain tokenoauth_end_session_endpoint
- end oauth session endpoint
- Clone the repository
- Go to repo folder
pip3 install -r ./adminpage/requirements.txt
- To start server
- Copy file:
example.env
to.env
(cp example.env .env
) - From repo folder:
docker-compose -f ./compose/docker-compose.yml up
- Copy file:
- To create superuser and make migrations
docker exec -it compose_adminpanel_1 bash
python manage.py makemigrations
python manage.py migrate
python manage.py createsuperuser
Server supports auto-reload on code change in debug mode
Documentation for api
module:
- Swagger is at
/api/swagger
- Redoc is at
/api/redoc
.
├── adminpage - Django project
│ ├── adminpage - main django app
│ │ ├── settings.py
│ │ ├── swagger.py
│ │ ├── urls.py
│ │ └── wsgi.py
│ ├── api
│ │ ├── crud - directory with database queries
│ │ ├── fixtures - database tools for testing
│ │ ├── serializers - DRF serializers
│ │ ├── tests
│ │ │ ├── api - endpoints tests
│ │ │ └── crud - database queries tests
│ │ └── views - api endpoints
│ ├── sport
│ │ ├── admin - django adminpage classes
│ │ ├── dumps - database dumps for tests
│ │ ├── migrations - django database migrations
│ │ ├── models - django database models
│ │ ├── signals - django ORM signal handlers
│ │ ├── static - static files for app (css, fonts, images, js)
│ │ │ └── sport
│ │ │ ├── css
│ │ │ ├── fonts
│ │ │ ├── images
│ │ │ └── js
│ │ ├── templates - django templates for app pages
│ │ └── views - app pages url handlers
├── compose - compose for the project
│ └── docker-compose.yml
├── nginx - load balancer and proxy
│ ├── access.d
│ ├── conf - configuration folder
│ ├── Dockerfile
│ └── logs - log folder
├── Dockerfile.db - Dockerfile for db image
└── README.md