Чему вы научитесь
- Проектировать REST API на Go с фреймворком Gin: маршруты, группы маршрутов, обработка JSON-запросов и ответов
- Выстраивать слоистую архитектуру handler → service → repository и понимать, за что отвечает каждый слой
- Работать с базой данных SQLite напрямую через database/sql: создавать таблицы, писать SQL-запросы, настраивать пул соединений и индексы
- Реализовывать полноценный CRUD: создание, чтение, обновление и мягкое удаление (soft delete) записей
- Валидировать входные данные декларативно через go-playground/validator и отдавать понятные сообщения об ошибках
- Строить аутентификацию с нуля: регистрация, безопасное хранение паролей с bcrypt, логин и выдача JWT-токенов
- Защищать эндпоинты с помощью middleware: проверять токен, прокидывать данные пользователя через контекст запроса
- Разграничивать доступ по владельцу ресурса и корректно возвращать статусы 401 Unauthorized и 403 Forbidden
- Управлять конфигурацией и секретами через переменные окружения и .env-файлы.
- Применять на практике UUID, контрольные временные метки (created_at / updated_at / deleted_at) и проверки уникальности данных
О курсе
Пошагово строим на Go production-ориентированный REST-сервис: слоистая архитектура, работа с базой данных, валидация, JWT-аутентификация и разграничение прав доступа. От пустого main до защищённого API
Для кого этот курс
Курс предназначен для тех, кто хочет научиться строить реальные веб-сервисы, а не просто читать про синтаксис:
– Разработчики, уже знакомые с основами Go, которые хотят увидеть, как из базовых концепций собирается целостный сервис с архитектурой и безопасностью
– Разработчики с других языков (Java, C#, Python, Node.js и др.), которым нужно быстро понять, как «по-гошному» строится бэкенд, и перенести свой опыт на Go
– Начинающие бэкенд-разработчики, которым важно увидеть полный путь создания API целиком, а не фрагментами
Типичные ситуации, когда этот курс пригодится: вы переходите на Go в новой команде или на новом проекте; вам поручили написать сервис на Go, а живого примера «как надо» под рукой нет; вы готовите пет-проект или портфолио для собеседования; вы хотите систематизировать разрозненные знания и наконец увидеть, как все части (БД, валидация, аутентификация) работают вместе
Начальные требования
Чтобы курс не оказался слишком сложным, желательно перед стартом:
- Знать основы программирования — переменные, функции, структуры, условия и циклы, работа с типами
- Понимать базовые концепции Go (синтаксис, пакеты, структуры, методы, обработка ошибок) или иметь опыт другого языка (Java, C#, Python и т.п.) и готовность быстро освоить синтаксис Go по ходу
- Иметь общее представление о том, как работает HTTP — запросы, ответы, методы (GET/POST/PUT/DELETE), статус-коды
- Базово ориентироваться в работе с базами данных и понимать простые SQL-запросы (плюс, но не обязательно).
- Уметь работать в терминале: запускать команды, устанавливать зависимости.
Глубокого знания Go, опыта с Gin, JWT или SQLite не требуется — всё необходимое разбирается в процессе
Преподаватели курса
Как проходит обучение
Обучение построено в формате видео-скринкастов: я пошагово показываю на экране, как строится сервис — от создания файла до запуска готового эндпоинта. Вы видите весь процесс разработки в реальном времени, вместе с объяснением каждого решения.
В процессе обучения вы:
- Смотрите скринкасты и параллельно повторяете шаги в своём проекте
- Собираете сервис своими руками, постепенно наращивая функциональность от урока к уроку
- Сдаёте итоговую работу на проверку — я провожу персональное код-ревью вашего проекта, указываю на сильные места и точки роста, объясняю, что и почему стоит улучшить
Такой формат позволяет не просто «посмотреть, как делает другой», а получить обратную связь именно по вашему коду
Что вы получите
- – Практический навык построения веб-сервисов на Go, востребованный в бэкенд-разработке
- – Понимание архитектуры реальных сервисов: разделение на слои, валидация, безопасность, права доступа
- – Готовый проект для портфолио — защищённый REST API с JWT-аутентификацией, который можно показать на собеседовании или развить дальше
- – Персональное код-ревью вашей работы от автора курса с конкретной обратной связью
- – Уверенность в стеке Gin, SQLite, JWT, bcrypt, validator — инструментах, которые применяются в продакшене
- – Базу для роста: понятный каркас, который легко расширить новыми сущностями, эндпоинтами и интеграциями