Наш проект направлен на создание удобной платформы для просмотра аниме, оптимизированной для слабых устройств, таких как телевизоры с ограниченной оперативной памятью. Главная особенность системы — разбиение видео на чанки.
Frontend: React + TypeScript (для удобного UI/UX)
Backend:
Python
FastAPI (фреймворк для построения API), Pydantic (для валидации входящих данных), Alembic (для миграции), WebSockets (для управления воспроизведением)
C++
(для высокопроизводительной обработки видео), Drogon, Boost
Nginx
База данных: PostgreSQL (для хранения информации о пользователях и локации видео)
Контейнеризация: Docker
Тестирование: Python + Pytest (для тестирования и профилирования)
Дизайн: Figma (для проектирования дизайна)
Mira - текущая архитектура
Asana - текущий такс-менеджмент
Каждый разработчик проекта ведет работу в своей ветке, созданной от dev-ветки, с названием, аналогичным названию вашей карточки на доске в Asana. После написания определенной части (логически конечной) кода в вашей ветки, разработчик делает "merge request" в dev ветку, в которой происходит тестировка. Релизные стадии продукта перехоядт в main-ветку.
Warning
Работа с main-веткой ведется исключительно администрацией проекта.
Обновление вашей ветки:
git pull
Показывает вашу текущую ветку и доступные:
git branch
Переключение на ветку branch-name:
git checkout branch-name
Каждый коммит должен состоять из двух частей: версии и описания
Версия коммита имеет форму: x-A.B.C, где A, B, C - произвольные числа, а x - буква, соответствующая вашей ветке. Каждый устанавливает версию своего коммита самостоятельно, Но стоит помнить, что:
x - Буква, обозначающая ваш блок разработки (об этом далее...)
A - Мажорная версия обновления. Глобальное обновление/релиз
B - Минорная версия обновления. Добавление каких-либо фич
C - Версия патча. Исправление каких-либо ошибок/неточностей
Note
При обновлении A, B сбрасывается до 0. При обновленни B, C сбрасывается до нуля.
Note
Изначальная версия x-0.1.0
Таблица с символами блока разработки:
| № | Название блока разработки | Символ (латиница) |
|---|---|---|
| 1 | Frontend | f |
| 2 | CppBackend | c |
| 3 | PyBackend | p |
| 4 | PyTest | t |
| 5 | Бюрократия | o |
| 6 | Dev ветка | d |
| 7 | Main ветка | m |
Описание коммита произвольно, но просьба писать на английском. Пример:
Update GUI. Make QTextEdit font-size bigger
Note
Обратите внимание, что глаголы пишетуся в настоящем времени
Выбрать все файлы для коммита:
git add .
Коммит:
git commit -m "version" -m "description"
Пример:
git commit -m "f-0.14.1" -m "Recolor exit button. Make it red"
Пуш (выгрузка на облако):
git push