Ответ
1. RESTful API для управления задачами (ToDo-приложение)
- Стек: Spring Boot, Spring Security (JWT), Hibernate, PostgreSQL, Redis, Docker.
- Функционал: Полный CRUD для задач, аутентификация/авторизация пользователей, кэширование.
- Пример контроллера:
@RestController @RequestMapping("/api/tasks") public class TaskController { @GetMapping("/{id}") public ResponseEntity<TaskDto> getTask(@PathVariable Long id) { return ResponseEntity.ok(taskService.getTaskById(id)); } @PostMapping public ResponseEntity<TaskDto> createTask(@Valid @RequestBody TaskCreateRequest request) { return new ResponseEntity<>(taskService.createTask(request), HttpStatus.CREATED); } } - Тестирование: Покрытие unit- (JUnit, Mockito) и интеграционными тестами.
2. Микросервис для обработки платежей
- Стек: Spring Boot, Spring Cloud, Apache Kafka, PostgreSQL.
- Задачи: Асинхронная обработка транзакций, интеграция с внешними платежными шлюзами, обеспечение идемпотентности (чтобы повторный запрос не вызывал двойного списания).
- Архитектура: Событийно-ориентированная (event-driven) для надежности и масштабируемости.