TODO:
- Добавить возможность загружать аватарки пользователям;
- Исследовать и возможно добавить опциональное хранилище KeyValue написанное на Rust как альтернативу Redis, для ускорения работы в одно-серверных системах;
- Добавить систему логирования с возможностью доступа через web ui;
- Написать генерируемую документацию и позаботиться о доступе к ней через web ui;
- Сформировать CI/CD через файл для одно-серверных систем с запуском без докера;
- Сформировать CI/CD через файл для одно-серверных систем с запуском через docker-compose;
- Сформировать CI/CD через файл для k8s систем;
- Сформировать CI/CD GitLab для одно-серверных систем с запуском без докера;
- Сформировать CI/CD GitLab для одно-серверных систем с запуском через docker-compose;
- Сформировать CI/CD GitLab для k8s систем;
- Провести нагрузочное тестирование;
- Постараться оптимизировать скорость исполнения ещё сильнее и сократить расход памяти путём уменьшения размеров типов переменных, там где это возможно;
- Проверить безопасность подключенных библиотек вручную просмотрев их код;
- Переименовать сборку в что-то уникальное, например взять Laravel за основу и назвать сборку Ralaver;
- Выпустить первый релиз;
- Оформить статью на habr, а так же проконсультироваться с безопасниками касательно сборки.
Среда разработки состоит из:
- rust:1.82.0
- nodejs:22.13.1
Перед запуском проекта создайте .env файл с переменными окружения из файла .env.example:
cp .env.example .env
Команда запуска среды разработки:
docker compose -f dev.docker-compose.yaml up -d
Команда остановки среды разработки:
docker compose -f dev.docker-compose.yaml down
Команда входа в среду разработки:
docker compose -f dev.docker-compose.yaml exec app bash
Эта команда будет полезна, например: для применения миграций.
Команда перезапуска среды разработки вместе со сборкой исходников:
docker compose -f dev.docker-compose.yaml down && docker compose -f dev.docker-compose.yaml up --build -d
Команда запуска приложения в среде разработки:
docker compose -f dev.docker-compose.yaml exec app cargo run
Команда запуска миграций:
cargo run --bin migrate up
docker compose -f dev.docker-compose.yaml exec app cargo run --bin migrate up
Команда отката миграций:
cargo run --bin migrate down
docker compose -f dev.docker-compose.yaml exec app cargo run --bin migrate down
Команда для установки зависимостей фронтенда:
docker compose -f dev.docker-compose.yaml exec app npm i
Команда для сборки фронтенда (перед сборкой не забудьте установить зависимости):
docker compose -f dev.docker-compose.yaml exec app npm run build
Команда для перезаписи root владельца файлов:
sudo chown -R $UID:$UID .