ДЗ для курса Highload Architect. Проект социальной сети.
Разработка велась на ubuntu 22.04. Гарантий работоспособности по другие ОС [пока] не предоставлятся :)
Стек:
- Rust
- Postgres - Основное хранилище
- rustc >=1.73.0 (cc66ad468 2023-10-03)
- docker-compose 1.25.0-1 (для запуска postgresql) (Установить по инструкции с https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-20-04)
- libssl-dev (1.1.1f-1ubuntu2.20)
- sqlx-cli
$ sudo apt install libssl-dev
$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
$ cargo install sqlx-cli
$ cargo build
$ cargo test
Для тестовой базы есть настроенный docker-compose.yaml
файл для запуска одной командой:
$ docker-compose -f postgres/docker-compose.yaml up -d --build
Аргумент --build
нужен, чтобы при обновлении миграций они обновились в контейнере
$ cd postgres && docker-compose down && docker-compose build --no-cache && docker-compose up && cd -
$ export DATABASE_URL=postgres://postgres:postgres@localhost/social_net
$ cargo build
$ ./target/debug/otus-hla-hw --config cfg.yaml
По умолчанию сервис будет запущен на localhost:8083
Коллекция тестов postman лежит в tests/postman_collection.json