Всем привет.

У меня появилась идея написать серию статей по созданию полноценного проекта на Java для тех, у кого нет опыта работы. Я хочу научить и показать процесс разработки максимально детально, насколько это вообще можно. Шаг за шагом идти к намеченной цели.
Мы будем двигаться с двух сторон - я буду стараться научить, а вы будете стараться понять и воспроизвести у себя это.

Серия статей похожа на пошаговую инструкцию что нужно и делать и как чтобы добиться цели. Поэтому будет разумно вместе со мной пройти этот путь и написать такой же или похожий проект для себя.

Кому это будет интересно?

Целевая аудитория — все, кто знает Java SE. Все остальное я буду или описывать в рамках этой серии статей, или это уже описано мною в других статья ранее (например работу с Гитом я описал заранее и просто прикрепляю ссылку на него).
Разумеется, это может быть интересно и уже опытным людям. Отдельно буду благодарен за конструктивную критику моей реализации (это можно будет сделать через гитхаб, в рамках нового issue или написать в телеграм-канале).

Во время разработки проекта столкнемся с проблемами, посмотрим как их можно решить. Напишем документацию. Отрефакторим код. Покроем все качественными тестами. Настроим и добавим метрики по отслеживанию качества кода в CI процесс.

Что будем в этом проекте?
Понятно, что всем интересно поработать с какой-то технологией, базой данных, их интеграцией. Много будет уделено вниманию развертывания проекта. Его тестированию. Разработка ведется в открытом репозитории на гитхабе. Для этого дела, создал отдельную организацию, чтобы объединить все необходимые для работы проекта данные.
Поговорим о:
- Поговорим о том, как спроектировать проект, написать задачи для него. Порисуем схемы базы данных.
- SQL/MySQL - для этого отведена первая серия статей. Описание рассчитано на людей, которые вообще не имеют об этом понятия.
- Flyway - через flyway будем работать с версионированием базы данных
- SpingBoot - как каркас всего приложения. Здесь внутри затронем Scheduling для наших нужд.
- Docker / Docker-compose - при помощи докера и докер компоуза будем развертывать наше приложение. Вся необходимая инфраструктура будет разворачиваться при запуске одной строки(!!)
- Bash Script - напишем два простеньких баш скрипта, которые соберут воедино наш процесс развертывания
- Lombok - просто как удобная вещь для наших сущностей.
- Тестирование - отдельно хорошо поговорим о тестировании, о модульных тестах, интеграционных. О создании CI процесса для разработки, настройки этого процесса.

Что будет в итоге?
В итоге получим реальный проект, который будет работать. Его можно будет потрогать, каждый шаг его разработки будет тщательно описан.

Для освещения деятельности создал телеграм-канал: t.me/romankh3
В нем я размещаю свою open-source деятельность и львиная его доля на данный момент - это написание проекта от А до Я. Поэтому всех, кому будет интересно следить за проектом - приглашаю присоединиться.

Сразу хочу сказать, что это не реклама JavaRush. Просто так исторически сложилось, что я там публикую свои статьи для начинающих специалистов. Все материалы, которые будут нужны (статьи, исходники кода) - все в открытом доступе.

Если это интересно для тебя - присоединяйся.
Вот первая статья этой серии: javarush.ru/...​ihy-proekt-dlja-portfolio
Остальные ссылки находятся в статьях.

Всем добра. Надеюсь этот проект поможет кому-то еще.

UPDATE: в спешке донести идею о том, что я создаю я как-то не подумал, что это все реклама... Спасибо в комментах написали, усвоил. Поэтому как только я закомчу свою серию статей (там всего будет где-то 20-25 полноценных статей) по телеграм-боту и проект уже будет готов - напишу сжато 2-3 части здесь, на хабре.