Пишем телеграм бота на Java от А до Я

от автора

Всем привет.

У меня появилась идея написать серию статей по созданию полноценного проекта на 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 части здесь, на хабре.


ссылка на оригинал статьи https://habr.com/ru/articles/545248/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *