Skip to content

Проект "Спортивное приложение" удобный интерфейс для взаимодействия с базой данных атлетов.

Notifications You must be signed in to change notification settings

Dashulik10/SportApplicationJava

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Спортивное приложение

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

Проект "Спортивное приложение" разработан для работы с перечнем спортсменов, их характеристиками и командами, а также предоставляет удобный интерфейс для взаимодействия с базой данных.

Основные функции приложения:

  1. Добавление спортсменов.
  2. Удаление спортсменов.
  3. Поиск спортсменов по заданным параметрам.
  4. Просмотр списка спортсменов в виде таблицы и древовидной структуры.
  5. Экспорт и импорт данных в формате XML.
  6. Управление данными через таблицу с поддержкой пагинации.

Приложение основано на JavaFX для реализации графического интерфейса и использует PostgreSQL в качестве базы данных.


Основные возможности

  1. Добавление спортсменов

    • Заполнение всех необходимых параметров: фамилия, имя, отчество, команда, позиция, титул, вид спорта, ранг.
    • Доступны выпадающие списки для выбора допустимых значений.
  2. Удаление спортсменов

    • Позволяет удалять спортсменов, выбирая их из списка.
  3. Поиск спортсменов

    • Реализован гибкий фильтр поиска по параметрам: фамилия, имя, состав команды, вид спорта, ранг.
    • Отображение результатов таблицей.
  4. Просмотр в виде дерева

    • Представление данных в виде древовидной структуры, сгруппированной по виду спорта и составу команды.
  5. Работа с XML

    • Импорт данных о спортсменах из XML-файлов.
    • Экспорт данных в XML-файл.
  6. Пагинация

    • Удобная работа с большим количеством данных благодаря поддержке постраничного отображения записей в таблице.

Технические детали

  • База данных: PostgreSQL.
    • Таблица sportsmen для хранения информации о спортсменах.
    • Таблица sports для справочника видов спорта.
  • ORM: Самописная реализация DAO (Data Access Object) для работы с базой данных.
  • Графический интерфейс: JavaFX.
  • Файловые операции: Поддержка работы с XML-файлами с использованием стандартных Java API (DOM и SAX).

Сценарии демонстрации системы

1. Добавление спортсмена

Шаги:

  1. Нажмите кнопку "Добавить атлета" в левой панели управления.
  2. В появившемся окне заполните данные:
    • Укажите фамилию, имя, отчество.
    • Выберите команду, титул, вид спорта и ранг из выпадающих списков.
  3. Нажмите кнопку "Добавить атлета".
  4. Закройте окно.

Ожидаемый результат:

  • Спортсмен добавляется в базу данных.
  • Таблица на главной странице обновляется с добавлением нового спортсмена.

2. Удаление спортсмена

Шаги:

  1. Нажмите кнопку "Удалить атлета" в левой панели управления.
  2. В появившемся окне выберите спортсмена из таблицы.
  3. Нажмите кнопку "Удалить".
  4. Подтвердите удаление в окне подтверждения.

Ожидаемый результат:

  • Спортсмен удаляется из базы данных.
  • Таблица на главной странице обновляется, удалённый спортсмен исчезает.

3. Поиск спортсменов

Шаги:

  1. Нажмите кнопку "Поиск атлета" в левой панели управления.
  2. В появившемся окне заполните необходимые параметры поиска.
  3. Нажмите кнопку "Найти".

Ожидаемый результат:

  • В таблице центра окна отображаются только те спортсмены, которые подходят под заданные критерии поиска.

4. Просмотр структуры в виде дерева

Шаги:

  1. Нажмите кнопку "Дерево" на боковой панели.
  2. Откроется окно с древовидной структурой спортсменов, сгруппированных по видам спорта и составам.

Ожидаемый результат:

  • В дереве отображаются спортсмены, разделённые по категориям вида спорта и состава команды.

5. Импорт данных из XML

Шаги:

  1. Нажмите кнопку "Загрузить XML" на боковой панели.
  2. Выберите файл в формате XML со списком спортсменов.
  3. Нажмите "Открыть".

Ожидаемый результат:

  • Данные из XML файла импортируются в базу данных.
  • Таблица спортсменов на главной странице обновляется.

6. Экспорт данных в XML

Шаги:

  1. Нажмите кнопку "Сохранить в XML" на боковой панели.
  2. Выберите место для сохранения XML-файла.
  3. Нажмите "Сохранить".

Ожидаемый результат:

  • Все данные из текущей таблицы экспортируются в XML-файл.

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

  • src/main/java/org/example/sportapp/

    • controllers/:
      • AthletesTableController.java — управление таблицей главного окна.
      • AddAthleteController.java — добавление спортсмена.
      • DeleteAthleteController.java — удаление спортсмена.
      • SearchAthleteController.java — поиск спортсменов.
      • TreeController.java — отображение древовидной структуры.
      • XMLController.java — экспорт/импорт XML.
    • dataBase/:
      • AthleteDAO.java — операции над данными спортсменов в базе данных.
      • DatabaseConfig.java — конфигурация подключения к базе данных.
    • models/:
      • Athlete.java — модель данных для спортсмена.
      • TeamCast.java — перечисления для состава команды.
      • Rank.java — перечисления для ранга спортсмена.
      • AthleteXMLLoader.java — загрузка спортсменов из XML.
      • AthleteXMLSaver.java — сохранение спортсменов в XML.
    • main/:
      • MainApplication.java — главный класс приложения.
  • src/main/resources/view

    • MainView.fxml — главное окно приложения.
    • DialogAddView.fxml — диалог добавления спортсмена.
    • DialogDeleteView.fxml — диалог удаления спортсмена.
    • DialogSearchView.fxml — диалог поиска.
    • TreeViewDialog.fxml — окно с древовидной структурой.
  • src/main/resources/style

    • Основные стили для интерфейсов приложения.

About

Проект "Спортивное приложение" удобный интерфейс для взаимодействия с базой данных атлетов.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published