Проект "Спортивное приложение" разработан для работы с перечнем спортсменов, их характеристиками и командами, а также предоставляет удобный интерфейс для взаимодействия с базой данных.
Основные функции приложения:
- Добавление спортсменов.
- Удаление спортсменов.
- Поиск спортсменов по заданным параметрам.
- Просмотр списка спортсменов в виде таблицы и древовидной структуры.
- Экспорт и импорт данных в формате XML.
- Управление данными через таблицу с поддержкой пагинации.
Приложение основано на JavaFX для реализации графического интерфейса и использует PostgreSQL в качестве базы данных.
-
Добавление спортсменов
- Заполнение всех необходимых параметров: фамилия, имя, отчество, команда, позиция, титул, вид спорта, ранг.
- Доступны выпадающие списки для выбора допустимых значений.
-
Удаление спортсменов
- Позволяет удалять спортсменов, выбирая их из списка.
-
Поиск спортсменов
- Реализован гибкий фильтр поиска по параметрам: фамилия, имя, состав команды, вид спорта, ранг.
- Отображение результатов таблицей.
-
Просмотр в виде дерева
- Представление данных в виде древовидной структуры, сгруппированной по виду спорта и составу команды.
-
Работа с XML
- Импорт данных о спортсменах из XML-файлов.
- Экспорт данных в XML-файл.
-
Пагинация
- Удобная работа с большим количеством данных благодаря поддержке постраничного отображения записей в таблице.
- База данных: PostgreSQL.
- Таблица
sportsmen
для хранения информации о спортсменах. - Таблица
sports
для справочника видов спорта.
- Таблица
- ORM: Самописная реализация DAO (Data Access Object) для работы с базой данных.
- Графический интерфейс: JavaFX.
- Файловые операции: Поддержка работы с XML-файлами с использованием стандартных Java API (DOM и SAX).
- Нажмите кнопку "Добавить атлета" в левой панели управления.
- В появившемся окне заполните данные:
- Укажите фамилию, имя, отчество.
- Выберите команду, титул, вид спорта и ранг из выпадающих списков.
- Нажмите кнопку "Добавить атлета".
- Закройте окно.
- Спортсмен добавляется в базу данных.
- Таблица на главной странице обновляется с добавлением нового спортсмена.
- Нажмите кнопку "Удалить атлета" в левой панели управления.
- В появившемся окне выберите спортсмена из таблицы.
- Нажмите кнопку "Удалить".
- Подтвердите удаление в окне подтверждения.
- Спортсмен удаляется из базы данных.
- Таблица на главной странице обновляется, удалённый спортсмен исчезает.
- Нажмите кнопку "Поиск атлета" в левой панели управления.
- В появившемся окне заполните необходимые параметры поиска.
- Нажмите кнопку "Найти".
- В таблице центра окна отображаются только те спортсмены, которые подходят под заданные критерии поиска.
- Нажмите кнопку "Дерево" на боковой панели.
- Откроется окно с древовидной структурой спортсменов, сгруппированных по видам спорта и составам.
- В дереве отображаются спортсмены, разделённые по категориям вида спорта и состава команды.
- Нажмите кнопку "Загрузить XML" на боковой панели.
- Выберите файл в формате XML со списком спортсменов.
- Нажмите "Открыть".
- Данные из XML файла импортируются в базу данных.
- Таблица спортсменов на главной странице обновляется.
- Нажмите кнопку "Сохранить в XML" на боковой панели.
- Выберите место для сохранения XML-файла.
- Нажмите "Сохранить".
- Все данные из текущей таблицы экспортируются в 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
— главный класс приложения.
- controllers/:
-
src/main/resources/view
MainView.fxml
— главное окно приложения.DialogAddView.fxml
— диалог добавления спортсмена.DialogDeleteView.fxml
— диалог удаления спортсмена.DialogSearchView.fxml
— диалог поиска.TreeViewDialog.fxml
— окно с древовидной структурой.
-
src/main/resources/style
- Основные стили для интерфейсов приложения.