The readme is available in English here
Сервис бронирования отелей, комнат и частных домов по типу booking.com, trivago и др. С личными аккаунтами для покупателя, продавца и администраторов платформы, с различными вариантами расчета (как при заселении, так и онлайн)
-
- C ++ Необходимое условие для создания этого проекта
- Userver framework Готовое сервисное решение, чтобы тратить время только на написание логики сервиса, написание обработчиков и работу с базой данных - next.js Read more in the frontend
-
- TypeScript Типизированные js, упрощают проверку данных и помогают обнаружить ошибки во время компиляции
- Next.js Настраиваясь на React с бэкендом, выбор пал именно на этот фреймворк из-за наличия презентера на стороне сервера (для индексации поисковыми системами), улучшенной работы с компонентами React (будут обнаружены только те компоненты, которые необходимо отобразить), а также наличия маршрутизации, улучшенной оптимизации и поддержки интеграции с другими фреймворками
- Eslint Для быстрого рефакторинга по заданным правилам и обнаружения ошибок во время написания кода
- Redux toolkit Улучшенная версия Redux, решающая некоторые его проблемы, - это инструмент для управления состоянием данных и пользовательским интерфейсом в JavaScript-приложениях с большим количеством сущностей.
- Tailwind Предлагает предварительно разработанные виджеты для создания сайта с нуля с быстрой разработкой пользовательского интерфейса, в то время как Bootstrap поставляется с набором предварительно стилизованных адаптивных мобильных компонентов, имеющих определенный набор пользовательского интерфейса.
Возможно выполнение на 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 содержит типичные полезные цели для разработки:
make build-debug
- отладочная сборка сервиса со всеми включенными утверждениями и санитарамиmake build-release
- выпуск сборки услуги с LTOmake test-debug
- выполняетmake build-debug
и запускает все тесты на полученном результатеmake test-release
- выполняетmake build-release
и запускает все тесты на полученном результатеmake service-start-debug
- создает службу в режиме отладки и запускает ееmake service-start-release
- создает службу в режиме выпуска и запускает ееmake
ormake all
- собирает и запускает все тесты в режимах релиза и отладкиmake format
- автоформатирование всех исходных текстов C++ и Pythonmake clean-
- очищает файлы объектовmake dist-clean
- очистить все, включая кэшированные конфигурации CMakemake install
- выполняетmake build-release
и запускает установку в каталог, заданный в окруженииPREFIX
.make install-debug
- выполняетmake build-debug
и запускает установку в каталог, заданный в окруженииPREFIX
make docker-COMMAND
- запуститеmake COMMAND
в среде dockermake docker-build-debug
- отладочная сборка сервиса со всеми утверждениями и санитарами, включенными в окружении dockermake docker-test-debug
- выполняетmake build-debug
и запускает все тесты на результате в среде dockermake docker-start-service-release
- выполняетmake install-release
и запускает сервис в среде dockermake docker-start-service-debug
- выполняетmake install-debug
и запускает сервис в среде dockermake docker-clean-data
- остановить контейнеры docker
Отредактируйте Makefile.local
, чтобы изменить конфигурацию по умолчанию и параметры сборки.
GNU General Public License v3.0
Разрешения этой лицензии с сильным авторским левом обусловлены предоставлением полного исходного кода лицензированных произведений и модификаций, которые включают более крупные произведения, использующие лицензированное произведение, под той же лицензией. Уведомления об авторском праве и лицензии должны быть сохранены. Соавторы предоставляют явное предоставление патентных прав.
Оригинальный шаблон распространяется на условиях Apache-2.0 License и CLA. Сервисы, основанные на этом шаблоне, могут изменять лицензию и CLA.