siriuso

siriuso

Категория проекта: Ожидает модерации
Интеграционная платформа Сириусо (Python / Django / Graphene)

Важно! Grave! Important!

Пролетарии всех стран, соединяйтесь!

Proletoj el ĉiuj landoj, unuiĝu!

Workers of the world, unite!

Siriuso

Сириусо — это многофункциональный бэкенд на Django 3.2 с API GraphQL для проектов Международного сообщества Текнокомо, в первую очередь для РВМ Универсо.

Разработчики проекта и статус проекта

Проект находится в активной разработке. Во внутренних чатах в Телеграм проводятся ежедневные краткие координационные конференции и, для любителей, длинные конфы по совместной работе.

Разработка осуществляется Международным сообществом Текнокомо, в том числе ассоциированными организациями, такими как народное предприятие производственный кооператив "Советские роботы", а также людьми и организациями поддерживающими цели и задачи проекта. Наших участников мы называем кибернетиками.

На данный момент проект разрабатывается в основном общественными силами, постепенно начинается привлечение финансирования и дополнительных сил / ресурсов в проект при помощи разных источников: краудсорсинг, краудфандинг, гранты, инвестиции, которые не ломают суть проекта и т.д.

Внимание! Основная часть команды проекта являются "абсолютными коммунячными ватниками", учитывайте это при контактах с нами.

Присоединяйтесь к нашей работе! Наш девиз: "Все миры будут наши!"

Вы можете поучаствовать трудом и поддержать нас финансово через Boosty https://boosty.to/universo

Контактная информация и сообщества

Контактное лицо, генеральный разнорабочий Владимир Левадный:

Подпишитесь на наши сообщества и получайте информацию о развитии проекта:

Документация

Мы работаем над созданием единого ресурса документации, для получения дополнительной информации свяжитесь с контактными лицами.

Описание структуры движка находится в Вики (это описание на текущий момент является устаревшим, планируется рефакторинг и актуализации данных) https://dok.universo.pro/ru/latest/django-servilo/bazo/index.html

Связанные репозитории

Ознакомьтесь, пожалуйста, с информацией об этом репозитории и связанных репозиториях:

  • siriuso (этот репозиторий) — многофункциональный бэкенд с API GraphQL на Django 3.X и сопутствующем технологическом стеке.

  • universo-godot — полнофункциональная версия платформы РВМ Универсо разрабатываемая на Godot 4, включающая в себя функционал клиентского приложения, серверного приложения для контроля перемещения объектов, формирования урона и т.д. https://hub.mos.ru/teknokomo/universo-godot

  • universo-modeloj — репозиторий в котором разрабатывается и хранится библиотека 3D-моделей для РВМ Универсо https://hub.mos.ru/teknokomo/universo-modeloj

  • universo-phaser — упрощённая версия платформы РВМ Универсо, сосредоточенная на 2D-функционале, разрабатываемая на технологическом стеке: Quasar 2, Phaser 3, Pinia, Apollo, Webpack и т.д. https://hub.mos.ru/teknokomo/universo-phaser

  • universo-utilecoj — репозиторий с различным дополнительными утилитами для Сириусо и РВМ Универсо, в том числе для работы с базой данных https://hub.mos.ru/teknokomo/universo-utilecoj

  • Более подробные схемы проекта, в том числе структуры файлов, взаимодействия с бэкендом и т.д., создаются на рабочей доске Miro.com.

  • Также планируются другие виды фронтенда и бэкенда, на другом технологическом стеке, в том числе на других игровых движках. Вы можете предложить свой технологический стек.

  • Сейчас ведётся разработка учебных суперинтенсивов по быстрому освоению используемого нами технологического стека и методологий, после тестирования суперинтенсива для технологического стека Quasar + Phaser, суперинтенсив будет расширен на Godot, Django и другие технологии.

Быстрый старт

Информация в разработке, для получения дополнительной информации свяжитесь с контактными лицами.

Данный проект, на текущий момент, не поддерживает быстрый старт, не существует мастера инсталляции при помощи которого можно было бы создать все базовые сущности. Проект полноценно возможно запустить только со специальной заранее подготовленной базой данных.

Внимание! На текущий момент мы не оказываем внешнюю техническую поддержку, мы осуществляем поддержку только для участников команды разработки, к который вы можете присоединиться, если вам интересно развивать этот проект.

Использование Docker

В корне проекта находится файлы:

  • docker-compose.yaml.local - отвечает за запуск проекта на локальной машине разработчика через Django-webserver. Разработчик сразу видит свои изменения.
  • docker-compose.yaml.server - отвечает за запуск проекта через gunicorn. Аналог серверного/серверный запуск.

Один из файлов переименовываем в docker-compose.yaml.

Настройки базы в settings.py

'HOST': 'postgres',
'PORT': '5432',
'NAME': 'siriuso',
'USER': 'siriuso',
'PASSWORD': 'oGLOWo8nd3',

После запуска будет развернуто 6 (шесть) контейнеров:

  1. Postgresql с доступностью по localhost:5432.

  2. Django с доступом по localhost:8000

    local - Django-webserver

    или

    server - запуск проекта через gunicorn

  3. Redis.

  4. Rabbitmq.

  5. Celery.

  6. Flower.

Linux

На Linux потребуется установить docker и docker-compose.

Для запуска нужно перейти в корень проекта и выполнить:

sudo docker-compose up --build

После чего нужно подождать пока скачаются образы с docker hub и соберутся контейнеры.

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

sudo docker exec -it siriuso_app-django python3 manage.py

Например:

sudo docker exec -it siriuso_app-django python3 manage.py makemigrations  # Подготовка миграций
sudo docker exec -it siriuso_app-django python3 manage.py migrate         # Применение миграцй
sudo docker exec -it siriuso_app-django python3 manage.py createsuperuser # Создание супер пользователя
sudo docker exec -it siriuso_app-django python3 manage.py loaddata        # Загрузка начальных данных

Windows

Инструкция для OS Windows находится в разработке.

Лицензия

Все проекты Омской метаплатформы, в том числе части РВМ Универсо, разрабатываются по Омской открытой лицензии / Гипервселенная модификация. В частности, это означает, что лицензируемый объект должен использоваться в рамках Общественного Кибергосплана на авторизированных узлах цифровизации гипервселенной. Использование в рамках Общественного Кибергосплана полностью свободно и осуществляется без каких либо ограничений. Лицензия разрешает свободное изучение проекта, в том числе в коммерческих целях.

С полным текстом лицензии вы можете ознакомиться в файле LICENSE.md