Условия участия:
- Курс не подойдет тем, кто еще собирается проходить стажировку TopJava и писать выпускной проект (или в процессе прохождения).
- Очень рекомендую перед этим курсом сделать свое решение
выпускного
проекта.
Только тогда от разбора моего решения будет максимальная польза. - Если вы малознакомы со Spring Boot, пройдите перед началом открытый курс Spring Boot
- Для участия в проекте вам потребуется аккаунт на GitLab
Материалы проекта в текстовом виде, аналогично уроку 6 BootJava
Домашних заданий и проверок нет
- Доступ ко всем материалам занятий.
- Проект и патчи для его обновления.
- Чат в Slack для общения и обмена опытом (на каждое занятие - свой канал)
- Ответы на все вопросы и помощь с проектом
Участия в проекте доступно выпускникам TopJava
Курс не сделает вас Senior. Это про код, к которому стремиться:
- Просто
- Красиво
- Читабельно
- Надежно
- Легко в поддержке и рефакторинге
Программа:
В проекте не используется Spring Data Rest/HATEOAS.
Код основан на миграции проекта TopJava на Spring Boot на стеке: JDK 17, Spring Boot 2.6, Lombok, H2, Caffeine Cache, Swagger/OpenAPI 3.0, MapStruct, Liquibase
Код основан на миграции проекта TopJava на Spring Boot на стеке: JDK 17, Spring Boot 2.6, Lombok, H2, Caffeine Cache, Swagger/OpenAPI 3.0, MapStruct, Liquibase
Репозиторий для инициализации проекта
git clone https://github.com/javaOPs/topjava2.git
- Настройка проекта
- Создание модели и популирование данных
- Администрирование ресторанов (с тестами)
- Администрирование еды и меню (с тестами)
- Вывод ресторанов с меню на сегодня
- Решение десериализации READ_ONLY в тестах через JSON View
- Тестирование ресторанов с меню
- Просмотр своих голосов
- Тестирование истории голосования
- Реализация голосования и пере-голосования
- Тестирование голосования. Возможные проблемы тестирования
- Вводим в модель справочник еды
- Добавляем принадлежность еды ресторану
- Администрирование справочника еды
- Исправляем отображение меню на сегодня
- Кэширование
- Вынесение дедлайна в конфигурацию
- Автогенерация маппинга: MapStruct
- Миграция БД: Liquibase
- Добавляем роль администратора ресторанов
- Реализуем ограничение на администраторов ресторанов
- Обновление версий и рефакторинг
- Заключение: ваша доработка