Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BookingFlight Application

Описание

Приложение для бронирования авиабилетов. Пользователи могут регистрироваться, просматривать доступные маршруты, выбирать время, места и приобретать билеты. Администраторы имеют возможность добавлять и редактировать маршруты и билеты. Реализована система авторизации и ролей пользователей. Используется Java EE, сервер Tomcat 11.

Основной функционал

  1. Регистрация и авторизация пользователей.
  2. Панель администратора для управления маршрутами и билетами.
  3. Просмотр доступных маршрутов.
  4. Поиск самых дешевых маршрутов, включая маршруты с пересадками.
  5. Выбор времени, места и покупка билета.

Используемый стек технологий

  • Back-end: Java EE, Servlet API, JSP, JPA (Hibernate).
  • Front-end: JSP с использованием HTML/CSS/JS (или React).
  • База данных: PostgreSQL.
  • Сервер: Tomcat 11.
  • Безопасность: Авторизация и аутентификация (Java EE Security).

План разработки

Неделя 1: Подготовка и начальная реализация

  1. День 1-2: Сбор требований и проектирование

    • Составить список страниц и функционала для каждой страницы.
    • Определить роли пользователей: Пользователь и Администратор.
    • Разработать ER-диаграмму базы данных:
      • Таблицы: Users, Flights, Tickets, Bookings.
    • Спроектировать архитектуру бэкенда (слои: Controller, Service, DAO).
    • Спроектировать архитектуру фронтенда.
  2. День 3-4: Инициализация проекта

    • Настроить сервер Tomcat 11.
    • Создать базовый Maven-проект.
    • Подключить зависимости (Servlet API, Hibernate, PostgreSQL).
  3. День 5-7: Реализация базового функционала

    • Регистрация пользователей.
    • Авторизация с разграничением ролей (Пользователь и Администратор).
    • Настройка базы данных и создание таблиц.
    • Настроить базовые маршруты (например, /register, /login, /admin).

Неделя 2: Разработка основного функционала

  1. День 8-10: Административная панель

    • Реализовать интерфейс для администратора:
      • Просмотр маршрутов.
      • Добавление новых маршрутов.
      • Изменение и удаление существующих маршрутов.
  2. День 11-13: Пользовательская панель

    • Реализовать просмотр доступных маршрутов для пользователя.
    • Создать форму выбора билета (место, дата, маршрут).
    • Добавить возможность покупки билета.

Неделя 3: Дополнительный функционал и тестирование

  1. День 14-16: Поиск маршрутов с использованием графа

    • Спроектировать структуру графа для маршрутов.
    • Реализовать алгоритм поиска самого дешевого маршрута, включая пересадки (например, Dijkstra).
  2. День 17-18: Улучшение UX/UI

    • Доработка интерфейса (JSP/React).
    • Добавить клиентские валидации форм (например, валидация полей регистрации).
  3. День 19-20: Тестирование

    • Написать тесты для бэкенда:
      • Юнит-тесты для DAO и Service.
      • Интеграционные тесты с использованием тестовой базы.
    • Ручное тестирование пользовательского интерфейса.
  4. День 21: Завершение и документирование

    • Написать инструкцию для запуска проекта.
    • Обновить README.md.
    • Провести финальное тестирование.

Структура проекта

База данных

  • Users: Содержит данные о пользователях (id, имя, фамилия, email, пароль, роль).
  • Flights: Содержит информацию о маршрутах (id, место отправления, место прибытия, цена, время отправления, время прибытия).
  • Tickets: Содержит данные о билетах (id, flight_id, место, статус).
  • Bookings: Содержит информацию о бронировании (id, user_id, ticket_id, статус).

Основные страницы

  1. Главная страница: Список маршрутов, поиск рейсов.
  2. Регистрация/Вход: Авторизация и регистрация.
  3. Панель администратора: Управление маршрутами и билетами.
  4. Панель пользователя: Просмотр маршрутов, покупка билета.
  5. Страница маршрута: Детальная информация о рейсе и билетах.

Даты завершения этапов

  1. Подготовка и начальная реализация: День 1-7.
  2. Основной функционал: День 8-13.
  3. Дополнительный функционал и тестирование: День 14-21.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages