Skip to content

Tech documentation

Halyna Melnyk edited this page Jun 17, 2024 · 14 revisions

Architecture components

image

Tree backend

├── administration
│   ├── __init__.py
│   ├── migrations
│   ├── pagination.py
│   ├── serializers.py
│   ├── tests.py
│   ├── urls.py
│   └── views.py
├── authentication
│   ├── admin.py
│   ├── apps.py
│   ├── authentication.py
│   ├── factories.py
│   ├── __init__.py
│   ├── migrations
│   ├── models.py
│   ├── serializers.py
│   ├── tests
│   ├── urls.py
│   └── views.py
├── forum
│   ├── asgi.py
│   ├── __init__.py
│   ├── pagination.py
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
├── images
│   ├── __init__.py
│   ├── serializers.py
│   ├── tests
│   ├── urls.py
│   └── views.py
├── profiles
│   ├── admin.py
│   ├── apps.py
│   ├── factories.py
│   ├── filters.py
│   ├── __init__.py
│   ├── migrations
│   ├── models.py
│   ├── permissions.py
│   ├── serializers.py
│   ├── tests
│   ├── urls.py
│   └── views.py
├── public
│   ├── media
│   └── static
├── search
│   ├── filters.py
│   ├── __init__.py
│   ├── __pycache__
│   ├── serializers.py
│   ├── tests.py
│   ├── urls.py
│   └── views.py
├── utils
│   ├── dump_response.py
│   └── unittest_helper.py
├── validation
│   ├── validate_edrpou.py
│   ├── validate_foundation_year.py
│   ├── validate_image.py
│   ├── validate_password.py
│   └── validate_phone_number.py
├── pyproject.toml
├── README.md
├── requirements.txt
├── sample.env
├── schema.yml
├── code_conventions.md
├── LICENSE
├── manage.py

Tree frontend

├── nginx.conf
├── package.json
├── package-lock.json
├── public
│   ├── img
│   ├── index.html
│   ├── manifest.json
│   ├── partners-images
│   ├── profilepage
│   ├── robots.txt
│   └── svg
├── sample.env
├── src
│   ├── App.css
│   ├── App.js
│   ├── components
│   │   ├── adminPage
│   │   ├── authorization
│   │   ├── basicPage
│   │   ├── BreadCrumbs
│   │   ├── checkbox
│   │   ├── cookieacception
│   │   ├── CookiesPolicyPage
│   │   ├── errorPages
│   │   ├── HeaderFooter
│   │   ├── landing-page
│   │   ├── loader
│   │   ├── PrivacyPolicyPage
│   │   ├── ProfileDetail
│   │   ├── profileList
│   │   ├── ProfilePage
│   │   ├── RestorePassword
│   │   ├── SearchPage
│   │   ├── SignUp
│   │   └── terms-and-conditions-app
│   ├── constants
│   ├── context
│   ├── hooks
│   ├── indexAuthPage.css
│   ├── index.css
│   ├── indexHeaderFooterSignUp.css
│   ├── index.js
│   ├── reportWebVitals.js
│   ├── setupTests.js
│   └── tests
└── tscconfig.json

Global variables

Global variables backend and sample filling

Django

DEBUG=True or False #Django backend debug mode

db details

  • SECRET_KEY= key ... # Use rules for hashed data
  • PG_DB= Database name
  • PG_USER= Database user
  • PG_PASSWORD= Database user password
  • DB_HOST=sample filling => localhost or '127.0.0.1' # Database host
  • DB_PORT=sample filling => 5432 # Database port

SMTP

  • EMAIL_BACKEND=django.core.mail.backends.smtp.EmailBackend
  • EMAIL_HOST="mail server address"
  • EMAIL_PORT=sample filling => 523 # Server port
  • EMAIL_USE_TLS=sample filling => 1
  • EMAIL_HOST_USER= User login
  • EMAIL_HOST_PASSWORD= key ... user password

Origin hostnames allowed to make cross-site HTTP requests

  • CORS_ORIGIN_WHITELIST="frontend address:port" #docker-compose and settings.py
  • CORS_ALLOWED_ORIGINS= sample filling => http://localhost:8080 #settings.py
  • ALLOWED_ENV_HOST="frontend address:port" #docker-compose and settings.py

Used by Docker

  • PGADMIN_DEFAULT_PASSWORD= key ... #Use rules for hashed data. Used by Docker
  • PGADMIN_DEFAULT_EMAIL= "user login" sample filling admin@admin.com . Used by Docker
  • POSTGRES_DB= database name
  • ENGINE= #docker-compose.dev.yml

Global variables frontend and sample filling

Global styles in design and frontend customization

Fonts:

  --font-main: 'Inter', sans-serif;
  --font-messages: 'Roboto', sans-serif;
  --font-error: 'Roboto', sans-serif;
  --font-logo: 'Geologica', sans-serif;

Color: #61dafb, #0B6C61, #FFF, #282c34,

Database schema

db04022024

#swagger http://localhost:8000/api/schema/docs/