Skip to content

MatveyBazhenov/WorldTravel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

89 Commits
 
 
 
 
 
 
 
 

Repository files navigation

WorldTravel - сервис для планирования путешествий

Авторы: Баженов Матвей, Смольникова Дарья, Яковлева Миланья

Описание проекта

WorldTravel — сервис для планирования путешествий, объединяющий поиск транспортных билетов и достопримечательностей. Пользователи регистрируются, указывают параметры поездки (город отправления, город прибытия, дату, бюджет), после чего получают доступные варианты билетов и списки популярных мест в городе назначения. Найденные предложения можно сохранять в личном кабинете для дальнейшего использования. Это десктопное приложение для планирования путешествий, разработанное на C++.

Технологии

GUI-фреймворк: wxWidgets (кроссплатформенная библиотека для создания нативных интерфейсов).

Дополнительные библиотеки:

  • nlohmann/json для обработки JSON-данных
  • wxHTTP для сетевых запросов к бэкенду

Ключевые компоненты userver в проекте:

  1. Клиенты для внешних сервисов

    • HTTP-клиент
  2. PostgreSQL

  3. Конфигурация и компоненты

    • Компоненты — http-handler
    • Secdist ('userver/storages/secdist') — безопасное хранение чувствительных данных
    • Генерация UUID — создание уникальных ключей
    • HTTP-обработчики
  4. Тестирование

    • Интеграционные тесты (testsuite/...) — тестирование взаимодействия компонентов, работа с реальной БД, использование мок-серверов
  5. Используемые типы файлов

    • JSON — парсинг/сериализация через formats::json
    • YAML — для конфигов

Запуск приложения

Серверная часть

  1. Склонируйте репозиторий:
    git clone https://github.com/MatveyBazhenov/WorldTravel
  2. Перейдите в директорию server и выполните команду
    make build-debug
    При сборке могут понадобиться дополнительные библиотеки — фреймворк укажет, какие именно.
  3. Создайте симлинк на файл compile_commands.json:
    ln -s build-debug/compile_commands.json
  4. Заупстите сервер командой
    make start-debug

Запуск тестов и что проверяют

  1. Если выполнены все шаги (включая создание симлинка), тесты можно запустить командой
    make start-debug
  2. Тесты проверяют функционал сервера и его endpoint’ов:
    • Запись в базу данных
    • Чтение из базы данных
    • Обработку ошибок
    • Проверяет работу с внешним API (с помощью мок-сервера)
    • Есть асинхронные тесты, по которым можно понять время обработки большого количества запросов сервером

Прохождение всех тестов

Клиентская часть (UI)

  1. Перейдите в директорию:

    cd ../ui
  2. Сборка:

    mkdir build && cd build
    cmake ..
    make
  3. Запуск:

    ./MyExecutable

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors