StudentManagerApp — это веб-приложение для управления данными о студентах, позволяющее добавлять, удалять, обновлять и просматривать информацию о студентах. Приложение использует REST API для взаимодействия между клиентской и серверной частями.
-
Клиентская часть (Frontend)
- Разработана с использованием HTML, CSS и JavaScript.
- Отвечает за отображение данных студентов и взаимодействие с пользователем.
-
Серверная часть (Backend)
- Реализована на Java с использованием HttpServer.
- Обрабатывает HTTP-запросы, взаимодействует с базой данных и выполняет бизнес-логику.
-
База данных
- Используется MySQL для хранения данных студентов.
- Данные включают уникальный номер, имя, фамилию, отчество, дату рождения и группу.
- Java — для реализации серверной части.
- HTML/CSS/JavaScript — для клиентской части.
- MySQL — для хранения данных о студентах.
- Gson — для сериализации и десериализации JSON-данных.
Приложение предоставляет REST API для взаимодействия с данными о студентах. Ниже представлены доступные эндпоинты и поддерживаемые методы:
- Метод:
GET - URL:
http://localhost:8080/api/students/ - Описание: Возвращает список всех студентов.
- Метод:
POST - URL:
http://localhost:8080/api/students/ - Описание: Добавляет нового студента. В теле запроса должен быть JSON-объект с данными студента.
- Пример тела запроса:
{ "uniqueNumber": "1", "firstName": "Иван", "lastName": "Иванов", "patronymic": "Иванович", "birthDate": "2000-01-01", "group": "Группа 1" }
- Метод:
PUT - URL:
http://localhost:8080/api/students/{unique_number} - Описание: Обновляет информацию о студенте по указанному уникальному номеру. В теле запроса должен быть JSON-объект с обновленными данными (запрос не обязательно должен содержать все поля).
- Пример тела запроса:
{ "firstName": "Петр", "lastName": "Петров", "patronymic": "Петрович", "birthDate": "2000-02-02", "group": "Группа 2" }
- Метод:
DELETE - URL:
http://localhost:8080/api/students/{unique_number} - Описание: Удаляет студента по указанному уникальному номеру.
- Метод:
GET - URL:
http://localhost:8080/api/students/{unique_number} - Описание: Возвращает информацию о студенте по указанному уникальному номеру.
Файл app.js реализует функциональность клиентской части, включая:
- Обработку событий для кнопок и форм.
- Отправку HTTP-запросов на сервер (GET, POST, PUT, DELETE).
- Обновление интерфейса в зависимости от ответов сервера.
- Генерацию уникального номера для новых студентов с помощью запроса на сервер.
// Пример логики для отправки POST-запроса на добавление студента
function addStudent(studentData) {
fetch('http://localhost:8080/api/students/', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(studentData)
})
.then(response => response.json())
.then(data => {
console.log(data);
// Обновление UI после добавления студента
})
.catch(error => console.error('Error:', error));
}Вот несколько скриншотов интерфейса приложения:
Главная страница приложения, где отображается список студентов.

Форма для добавления нового студента в базу данных.

Страница с информацией о выбранном студенте.

Все файлы можно скачать в релизе v 1.0.0. В нем есть .bat файл, который запускает сервер, и index.html с страницей.
Запустите сервер с помощью start.bat, который содержит следующий код:
java -jar StudentManagerApp.jarStudentManagerApp — это практическое приложение для изучения технологий веб-разработки и работы с базами данных. Приложение наглядно демонстрирует основные принципы создания REST API и взаимодействия клиент-сервер.