README.md

Описание

Это универсальный каталог чего угодно. Можно создавать разделы и гибко настраивать их поля (с указание типа поля). Внутри раздела можно создавать карточку, которая будет поддерживать поля которые настроены в разделе. Больше показано ниже в фото. Идея пришла от моей жены, когда я ей сделал каталог её алмазных картин, а она предложила сделать вообще всю опись что есть в доме, потому что постоянно теряется.

Как выглядит

Авторизация: Авторизация

Разделы: Разделы

Добавить раздел (гибкая настройка полей раздела, полей может быть сколько угодно): Добавить раздел

Каталог карточек раздела: Каталог карточек раздела

Добавить карточку в каталог: Добавить карточку в каталог

Как запустить

  1. Используя .venv:

    1. Активация:

      python3 -m venv venv
      source venv/bin/activate
      pip install -r requirements.txt
      
    2. Запуск:

      source venv/bin/activate (если не вошли в venv ранее)
      python main.py
      
  2. Используя репозитории ALT Linux (тестировалось на p11):

    1. Установка зависимостей:

      su-
      preinstall-alt.sh
      
    2. Запуск:

      start.sh
      

Как настроить:

  1. config.ini - задаётся порт сервера и путь к библиотеке. Если путь к библиотеке не указан, то будет использоваться папка ./data в корне проекта
  2. ./logs - просто папка с файлами с логами. При ошибке на сайте чаще всего сайт сам скажет об этом и покажет логи, если вы авторизированы

Особенности

Я этот код скопировал и модифицировал со своих других проектов WebAppCatalog и ImaCat, поэтому в HTML, CSS, JS могут быть мусорные строки, которые не используются (в python коде я весь мусор убрал)

Дополнительная настройка на своём сервере

Рекомендуймая конфигурация службы systemd (linux):

[Unit]
Description=Описание службы

[Service]
ExecStart=/путь/до/папки/с/сайтом/start.sh
WorkingDirectory=/путь/до/папки/с/сайтом

[Install]
WantedBy=multi-user.target

Рекомендуемая конфигурация Nginx:

(замените example.com на свой домен)

(ssl_certificate и ssl_certificate_key должны вести на путь к файлам вашего сертификата ssl)

server {
    listen 443 ssl;
    server_name example.com;

    #сертификаты ssl для https
    ssl_certificate      /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key  /etc/letsencrypt/live/example.com/privkey.pem;

    #ограничение на максимальный размер загружаемого файла
    client_max_body_size 1024M;

    location / {
        proxy_pass http://127.0.0.1:31205;

        #указание реального IP
        proxy_http_version 1.1;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}
server {
    listen 80;
    server_name example.com;
    return 301 https://example.com$request_uri;
}

LICENSE GPL 3.0

Описание
UniversalCatalog - универсальный каталог всякого
Конвейеры
0 успешных
0 с ошибкой
Разработчики