Базовое веб-приложения сервиса, к которому подключаются остальные модули.

1Mike21 864b5dc8ef Added fields lastname and firstname to the admin user model 1 year ago
SharixAdmin 864b5dc8ef Added fields lastname and firstname to the admin user model 1 year ago
bin 77e489d218 updated page authorization 1 year ago
core 2bb9db9bdb Added name system to authorization page 1 year ago
media d5042624a1 add partner info tickets add 1 year ago
staticfiles 98420a2f9c first commit 1 year ago
.DS_Store 98420a2f9c first commit 1 year ago
.gitignore 7e11a2e549 Updated logo 1 year ago
README.md 6afeef2935 Обновить 'README.md' 1 year ago
install_unix.sh 77e489d218 updated page authorization 1 year ago
install_win.bat d5042624a1 add partner info tickets add 1 year ago
manage.py 98420a2f9c first commit 1 year ago
requirements.txt e490a617d3 add jazzmin 1 year ago
update_unix.sh 77e489d218 updated page authorization 1 year ago
update_win.bat cac3fb6faa Update scripts 1 year ago

README.md

ShariX Open Admin

Admin system implemented as a Django application.

How install?

1) Download or clone repository

git clone http://git.sharix-app.org/ShariX_Open/sharix-open-webapp-base.git name_project

1) Set up a configuration file

#Create file config.py with this setting or rename this file to config.py

#BASE
DEBUG=True
SECRET_KEY='secret-key(absolutely any character)'
ALLOWED_HOSTS = ['127.0.0.1']
CSRF_TRUSTED_ORIGINS = []
API_URL = "127.0.0.1"
#DRIVE=2;ASSIST=1
SERVICE_ID = 1
#DATABSE
DB_NAME=None
DB_USER=None
DB_PASSWORD=None
DB_HOST=None

#GUNICORN
BIND = "127.0.0.1:8000"
WORKERS = 2
THREADS = 4

#STATIC
from pathlib import Path
import os
BASE_DIR = Path(__file__).resolve().parent.parent
STATIC_URL = '/static/'
[BASE_DIR / "SharixAdmin/static/", BASE_DIR / "tickets/static/", BASE_DIR /"design_template/static"]
STATIC_ROOT = os.path.join(BASE_DIR, "staticfiles")

3) Run a install_win.bat 4) The system will prompt you to create a superuser

#Example
7987654321
admin
pa$$w0rd
pa$$w0rd

Ready!

Server instalation

1) Download or clone repository

git clone http://git.sharix-app.org/ShariX_Open/sharix-open-webapp-base.git name_project

2) Set up a configuration file nano core/config_template.py

#Create file config.py with this setting or rename this file to config.py

#BASE
DEBUG=True
SECRET_KEY='secret-key(absolutely any character)'
ALLOWED_HOSTS = ['127.0.0.1']
CSRF_TRUSTED_ORIGINS = []

#DATABSE
DB_NAME=None
DB_USER=None
DB_PASSWORD=None
DB_HOST=None

#GUNICORN
BIND = "127.0.0.1:8000"
WORKERS = 2
THREADS = 4

#STATIC
from pathlib import Path
import os
BASE_DIR = Path(__file__).resolve().parent.parent
STATIC_URL = '/static/'
STATICFILES_DIRS = [BASE_DIR / "SharixAdmin/static/", BASE_DIR / "tickets/static/"]
STATIC_ROOT = os.path.join(BASE_DIR, "staticfiles")

3) Run a install_linux.sh 4) The system will prompt you to create a superuser

#Example
7987654321
admin
pa$$w0rd
pa$$w0rd

5) Set up the bin/webuser.sh file with valid paths

#!/bin/bash
cd /path/to/project
exec /path/to/project/env/bin/gunicorn core.wsgi:application -c core/conf_gunicorn.py

6) It remains to configure Nginx conf and start the daemon

Settings

Optional configuration params, which can be added to your project settings:


Utilities

Utilities provides important functionality to web-application, so it is important to know and understand how they work. They are stored in core/utils.

AuthAPI

That class provides the ability to authenticate an application account through the API and store these authentication tokens.

Modules using the API should log in ShariX system using this class.

Setting up

# core/config.py

# ...
#API
# The URL where it is possible to access the API.
API_URL = 'http://127.0.0.1:8000'
# ...
# <module>/apps.py

# ...
from core.utils.AuthAPI import AuthAPI
api = AuthAPI("<module_login>", "<module_password>")
# ...

Usage example

# <module>/<file>.py

import requests
from <module>.apps import api
from core.config import API_URL

# You can use api.headers to get the corret authorization header in your requests.
requests.get(f"{API_URL}/tickets/api/tickets/", headers=api.headers)

# Or you can get just token.
print(api.token)