TodoListApp — это приложение для управления списком задач, позволяющее пользователям добавлять, редактировать, искать и фильтровать задачи. Оно использует Spring Boot для реализации серверной части и взаимодействия с базой данных, а также предоставляет REST API для работы с данными задач.
- Spring Boot — фреймворк для создания серверных приложений на языке Java.
- JPA (Hibernate) — для работы с базой данных и выполнения операций CRUD.
- MySQL — система управления базами данных для хранения информации о задачах.
- REST API — для взаимодействия между клиентом и сервером.
- Thymeleaf — шаблонизатор для генерации веб-страниц (если используется для фронтенда).
git clone https://github.com/yourusername/TodoListApp.git
cd TodoListAppПрежде чем запустить приложение, настройте MySQL:
- Создайте базу данных для приложения. Например:
CREATE DATABASE todo_app;- Обновите настройки подключения к базе данных в
src/main/resources/application.properties:
spring.datasource.url=jdbc:mysql://localhost:3306/todo_app
spring.datasource.username=your_username
spring.datasource.password=your_password
spring.jpa.hibernate.ddl-auto=updateЗапустите приложение с помощью команд:
mvn spring-boot:run
java -jar TodoListApp.jarПосле этого приложение будет доступно по адресу http://localhost:8080.
Приложение предоставляет следующие эндпоинты:
GET /api/todos
- Ответ: Список всех задач.
GET /api/todos/find?q=Test- Ответ: Список задач, название которых содержит "task".
GET /api/todos/date?from=2024-11-01T00:00:00&to=2024-11-07T23:59:59&status=true- Ответ: Список задач, которые находятся в указанном диапазоне дат и имеют статус "выполнено".
Для выполнения запросов с пагинацией используйте параметры limit и offset:
- Пример запроса с пагинацией для получения задач:
GET /api/todos?offset=11&limit=1
- Ответ: 10 задач, начиная с 11-й.
src/main/java/com/example/TodoListApp— основной код приложения.controller— контроллеры для обработки HTTP-запросов.entity— сущности (модели данных), которые отражают структуру базы данных.repository— репозитории для взаимодействия с базой данных.service— бизнес-логика приложения.
src/main/resources— ресурсы для конфигурации, шаблонов и стилей.application.properties— конфигурация подключения к базе данных.static— статические ресурсы (CSS, JS и изображения).templates— шаблоны для генерации HTML-страниц (если используется).
src/test/java— тесты для приложения.
Для тестирования приложения можно использовать инструменты, такие как JUnit для тестов сервиса и контроллеров, а также Postman или curl для тестирования API.
Пример теста:
@Test
public void testGetAllTodos() {
List<TodoEntity> todos = todoService.getTodos(10, 0);
assertNotNull(todos);
assertTrue(todos.size() > 0);
}Для конфигурации параметров приложения, таких как база данных или сервер, используйте файл application.properties:
# Настройка базы данных
spring.datasource.url=jdbc:mysql://localhost:3306/todo_app
spring.datasource.username=your_username
spring.datasource.password=your_password
#Настройка JPA
spring.jpa.hibernate.ddl-auto=update
