Skip to content
@RideTrip-tour

RideTrip tour

СамСебеТур

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

Технологии

  • Бэкенд: FastAPI
  • База данных: PostgreSQL
  • Фронтенд: (На данный момент не определен)
  • Телеграм-бот: aiogram

1. Архитектура системы

Бэкенд (FastAPI):

Основные задачи:
    Обработка запросов от фронтенда.
    Взаимодействие с базой данных.
    Логика бизнес-процессов (выбор активности, локаций, транспортных средств, размещения и т.д.).
    Аутентификация и авторизация пользователей.
    Интеграция с внешними сервисами (платёжные системы, системы бронирования).

Структура проекта:
    Основные компоненты:
        Весификация API: формат v{номер_версии}/
        API Endpoints: Эндпоинты для работы с активностями, локациями, транспортом, размещением и пользователями.
        Модели данных: Определение структуры данных и взаимодействие с PostgreSQL.
        Логика бизнес-процессов: Реализация алгоритмов формирования тура, расчёт стоимости и прочее.
        Аутентификация и авторизация: Использование OAuth2, JWT или других механизмов.

База данных (PostgreSQL):

Схема базы данных:
    Таблицы:
        Users: Хранение информации о пользователях (ID, имя, email, пароль, и т.д.).
        Activities: Информация об активностях (ID, название, описание, иконка, и т.д.).
        Locations: Информация о локациях (ID, название, описание, связанная активность, и т.д.).
        TransportTypes: Информация о транспортных средствах (ID, тип, и т.д.).
        Accommodation: Информация о вариантах проживания (ID, тип, описание, цена, и т.д.).
        Bookings: Данные о бронированиях (ID, пользователь, дата начала, дата окончания, и т.д.).
        Trips: Полные данные о туре( ID, сегменты поездки, время старта, время финиша, и т.д.)
        TripSegments: Данные о конкретном участке поездки( ID, тип транспорта, время старта, время финиша и т.д.)

2. Разработка бэкенда

Проектирование API с FastAPI:

Эндпоинты API c префиксом версии v{номер_версии}/:
    /activities: Получение списка доступных активностей.
    /locations: Получение списка локаций для выбранной активности.
    /transport: Получение доступных вариантов транспорта.
    /accommodation: Получение вариантов проживания.
    /bookings: Создание и управление бронированиями.
    /users: Регистрация, вход и управление пользователем.

Аутентификация и авторизация:

Реализация с использованием OAuth2 и JWT для защиты эндпоинтов и управления сессиями пользователей.

3. Фронтенд (неопределённый)

Интеграция с бэкендом:

API вызовы: Фронтенд будет взаимодействовать с бэкендом через HTTP-запросы к API эндпоинтам.
Обработка данных: Получение данных от бэкенда и отображение пользователю (списки активностей, локации, детали бронирования).
Форма бронирования: Отправка данных о выбранных опциях и пользователе на сервер для создания бронирования.

4. Telegram-бот

  • Функциональность:

    • Интерактивный бот для формирования тура
    • Возможность получения информации о текущем статусе бронирования.
    • Управление настройками пользователя и предпочтениями через команды бота.
  • Интеграция:

    • Подключение к API FastAPI для получения и отправки данных.

5. Тестирование и деплой

Тестирование:
    Юнит-тесты: Для проверки отдельных функций и методов.
    Интеграционные тесты: Для проверки взаимодействия между компонентами системы.
    E2E тесты: Для проверки всего процесса от выбора активностей до завершения бронирования.

Деплой:
    Контейнеризация: Использование Docker для упрощения развертывания и масштабирования.
    Размещение: В облачных сервисах, таких как AWS, Azure или Heroku.

Pinned Loading

  1. Wiki Wiki Public

    Wiki с описанием СамСебеТур

  2. backend backend Public

    СамСебеТур — это конструктор туров, позволяющий пользователям создавать индивидуальные путешествия по различным направлениям и активностям. Пользователи могут выбирать активности, локации, транспор…

    Python 1

Repositories

Showing 3 of 3 repositories
  • backend Public

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

    RideTrip-tour/backend’s past year of commit activity
    Python 1 0 7 0 Updated Aug 28, 2024
  • Wiki Public

    Wiki с описанием СамСебеТур

    RideTrip-tour/Wiki’s past year of commit activity
    0 0 0 0 Updated Aug 25, 2024
  • .github Public
    RideTrip-tour/.github’s past year of commit activity
    0 MIT 0 0 0 Updated Aug 25, 2024

Top languages

Loading…

Most used topics

Loading…