👨‍💻 Выбор темы проекта для эталонной реализации REST API на `javax.servlet`



В рамках материалов курса, я стримлю разработку аналогичных по сложностями, но других по теме проектов.



Записи live coding сессий доступны на YouTube, код - на GitHub. Цель - создать материал для работы над ошибками, озвучивать ход мыслей, делиться опытом написания чистого кода.



- Аналог первого проекта курса, крестики-нолики в процедурном стиле - https://www.youtube.com/live/PPikj1qHxrA

- Аналог второго проекта курса, шахматы в ООП стиле - серия из трёх live coding стримов #1, #2, #3



Пришло время выбрать тему для аналога третьего проекта - REST API на javax.servlet. Законченный проект будет представлять из себя приложение, которое можно развернуть на сервере и обращаться к нему, выполняя HTTP запросы.



Требования к теме - проект должен включать в себя CRUD операции (это самая типовая для решения задача) и немного бизнес-логики, чтобы проект был интересным и наглядным.



1. Шахматы



Развить идею с шахматами, взять код, написанный для предыдущего проекта, и превратить его в REST API игрового сервера со следующим функционалом:

- Начать новую партию

- Сделать ход

- Получить состояние конкретной партии

- Получить список всех текущих партий

- Получить список игроков, партии конкретного игрока



Плюсы:

- Переиспользование кода из второго проекта - демонстрация того, что чисто написанный код может быть применён и в контексте и консольного приложения, и в контексте REST API



Минусы:

- Второй подряд проект на шахматную тему



2. Очередь проектов на ревью



Когда студенты присылают проекты на ревью, я записываю их в заметки, обработанные проекты перемещаю в другой список, который в конце месяца использую для подведения итогов. Это ручной труд, для которого чешется придумать автоматизацию.



REST API имел бы следующий функционал:

- Поставить проект в очередь, отправив ссылку на Git репозиторий, язык, на котором написан проект

- Получить текущую очередь

- Убрать проект из очереди

- Пометить проект как обработанный или отклонить ревью

- Получить список обработанных за последние N дней проектов



Плюсы:

- Жизненный пример



Минусы:

- Простовато



3. Вакансии и отклики



Проект в актуальной для многих предметной области - поиск работы.



Функционал REST API:

- Создать вакансию, отредактировать (закрыть, изменить описание или зарплату)

- Получение списка вакансий и поиск по вхождения слова в название (по запросу "Java" находим всевозможные вакансии Java разработчиков)

- Отклик - создать, отозвать, изменить статус (отклонено, приглашение на интервью)

- Получение списка откликов на вакансию

- Аналитика - средняя зп среднее количество откликов на вакансии по конкретному фильтру



Плюсы:

- Жизненный пример



Минусы:

- Без реальных данных это не более чем симуляция рынка труда, но можно выгрузить реальные вакансии с hh.ru



---



В следующем посте я создам опрос, проголосуйте, пожалуйста, за интересную вам тему проекта. Стрим с лайв кодингом планируется на апрель.



Курс | YouTube | Менторство | Ревью проектов | Поддержать