Skip to content

Latest commit

 

History

History
96 lines (76 loc) · 8 KB

README_RU.md

File metadata and controls

96 lines (76 loc) · 8 KB

booking_cpp

The readme is available in English here

Сервис бронирования отелей, комнат и частных домов по типу booking.com, trivago и др. С личными аккаунтами для покупателя, продавца и администраторов платформы, с различными вариантами расчета (как при заселении, так и онлайн)

Стек

  • Бэкэнд

    • C ++ Необходимое условие для создания этого проекта
    • Userver framework Готовое сервисное решение, чтобы тратить время только на написание логики сервиса, написание обработчиков и работу с базой данных - next.js Read more in the frontend
  • Frontend

    • TypeScript Типизированные js, упрощают проверку данных и помогают обнаружить ошибки во время компиляции
    • Next.js Настраиваясь на React с бэкендом, выбор пал именно на этот фреймворк из-за наличия презентера на стороне сервера (для индексации поисковыми системами), улучшенной работы с компонентами React (будут обнаружены только те компоненты, которые необходимо отобразить), а также наличия маршрутизации, улучшенной оптимизации и поддержки интеграции с другими фреймворками
    • Eslint Для быстрого рефакторинга по заданным правилам и обнаружения ошибок во время написания кода
    • Redux toolkit Улучшенная версия Redux, решающая некоторые его проблемы, - это инструмент для управления состоянием данных и пользовательским интерфейсом в JavaScript-приложениях с большим количеством сущностей.
    • Tailwind Предлагает предварительно разработанные виджеты для создания сайта с нуля с быстрой разработкой пользовательского интерфейса, в то время как Bootstrap поставляется с набором предварительно стилизованных адаптивных мобильных компонентов, имеющих определенный набор пользовательского интерфейса.

Engines

Возможно выполнение на Linux и с помощью Docker

Сборка

Сначала необходимо клонировать репозиторий

git clone https://github.com/trivagoDuo/booking_cpp_userver.git

Затем вам понадобятся make и g++ для компиляции, установите их.

Затем запустите один из вариантов сборки, либо сборку отладки, либо сборку релиза, соответственно:

make build-debug

или

make build-release

Framework проверит, какие зависимости отсутствуют, и попросит вас установить их, просто следуйте его инструкциям

Запуск билда

  • Перейдите в каталог сборки (build_debug или build_release)
  • Чтобы запустить его в первый раз, напишите в консоли
make start-booking_cpp_userver
  • Для последующих запусков напишите в консоли
make start-booking_cpp_userver/fast

Makefile

Makefile содержит типичные полезные цели для разработки:

  • make build-debug - отладочная сборка сервиса со всеми включенными утверждениями и санитарами
  • make build-release - выпуск сборки услуги с LTO
  • make test-debug - выполняет make build-debug и запускает все тесты на полученном результате
  • make test-release - выполняет make build-release и запускает все тесты на полученном результате
  • make service-start-debug - создает службу в режиме отладки и запускает ее
  • make service-start-release - создает службу в режиме выпуска и запускает ее
  • make or make all - собирает и запускает все тесты в режимах релиза и отладки
  • make format - автоформатирование всех исходных текстов C++ и Python
  • make clean- - очищает файлы объектов
  • make dist-clean - очистить все, включая кэшированные конфигурации CMake
  • make install - выполняет make build-release и запускает установку в каталог, заданный в окружении PREFIX.
  • make install-debug - выполняет make build-debug и запускает установку в каталог, заданный в окружении PREFIX
  • make docker-COMMAND - запустите make COMMAND в среде docker
  • make docker-build-debug - отладочная сборка сервиса со всеми утверждениями и санитарами, включенными в окружении docker
  • make docker-test-debug - выполняет make build-debug и запускает все тесты на результате в среде docker
  • make docker-start-service-release - выполняет make install-release и запускает сервис в среде docker
  • make docker-start-service-debug - выполняет make install-debug и запускает сервис в среде docker
  • make docker-clean-data - остановить контейнеры docker

Отредактируйте Makefile.local, чтобы изменить конфигурацию по умолчанию и параметры сборки.

Лицензия

GNU General Public License v3.0

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

Лицензия Userver template

Оригинальный шаблон распространяется на условиях Apache-2.0 License и CLA. Сервисы, основанные на этом шаблоне, могут изменять лицензию и CLA.