Что в курсе? Курс подойдёт тем, кто уже знаком с основами Golang и хочет научиться создавать не просто API, а полноценные Fullstack-приложения на Go. Мы изучим популярный фреймворк Fiber, создадим компоненты на Templ и добавим динамику с помощью HTMX. Мы начнём с изучения фреймворка Fiber и настроим всё необходимое для полноценного приложения: валидацию и обработку данных, логирование с zerolog и создание простого API. Затем перейдём к работе со встроенными шаблонами Go, а позже освоим Templ, создав свой первый компонент. Далее настроим рабочую среду для hot reload с Air и подключимся к базе данных, разобрав архитектуру приложения. Добавим авторизацию, хранение сессий и погрузимся в HTMX, что сделает приложение более динамичным. Курс построен таким образом, чтобы доносить материал от простого к сложному. Ниже вы можете ознакомиться с планом курса Программа курса: Некоторые пункты подразумевают интерактивное взаимодействие с платформой (упражнения, тестирование) поэтому не предоставляются. 1.1 Fullstack приложение на Golang 1.2 Как устроен курс 1.3 Обзор проекта 1.4 Обзор курсов 1.5 Работа с наставником 1.6 Проект с наставником 1.7 Рекомендуемый курс 1.8 Работа на платформе 2.1 Настройка окружения 2.2 Установка Golang 2.3 Настройки VSCode 2.4 Домашние задания 2.5 Работа с gitflow 3.1 Старт приложения 3.2 Выбор фреймворка 3.3 Простой сервер на Fiber 3.4 Выделение контроллера 3.5 Сервис конфигурации 3.6 Упражнение - Начальный конфиг 3.7 Группы роутов 3.8 Recover middleware 3.9 Обработка ошибок 3.10 Тест - Начало работы с Fiber 3.11 Занятие - Начало работы с Fiber 3.12 Домашнее задание - Начало работы с Fiber 4.1 Встроенное логирование 4.2 Конфиг уровня логирования 4.3 Logger middleware 4.4 Формат логов 4.5 Выбор системы логирования 4.6 Пример работы zerolog 4.7 Адаптер zerolog 4.8 Custom logger 4.9 Тест - Логирование 4.10 Занятие - Логирование 4.11 Домашнее задание - Логирование 5.1 Простой шаблон 5.2 Шаблон из файла 5.3 Интеграция с fiber 5.4 If else 5.5 Range 5.6 Функции и переменные 5.7 Разбивка шаблонов 5.8 Проблемы шаблонов 5.9 Тест - Шаблоны golang 5.10 Занятие - Шаблоны golang 5.11 Домашнее задание - Шаблоны golang 6.1 Установка и настройка 6.2 Адаптор для вывода 6.3 Компоненты на странице 6.4 Children 6.5 CSS компоненты 6.6 Упражнение - title и subtitle 6.7 Использование CSS 6.8 Статические файлы 6.9 Layout 6.10 Глобальные стили 6.11 Упражнение - Вёрстка меню 6.12 Тест - Templ 6.13 Занятие - Templ 6.14 Домашнее задание - Templ 7.1 Добавление air 7.2 Настройка конфигурации 7.3 Замечания по air 7.4 Насколько конфигураций 7.5 Debug с Air 7.6 Тест - Air 7.7 Занятие - Air 7.8 Домашнее задание - Air 8.1 Упражнение - Компоненты для формы 8.2 Упражнение - Сборка формы 8.3 Подключение htmx 8.4 Принцип работы htmx 8.5 Упражнение - Vacancy Handler 8.6 Отправка данных 8.7 Возврат компонента 8.8 CSS conditional 8.9 Валидация запроса 8.10 Упражнение - Форматирование ошибок 8.11 Анимация сообщения 8.12 Индикатор загрузки 8.13 Упражнение - Валидация всей формы 8.14 Тест - HTMX 8.15 Занятие - HTMX 8.16 Домашнее задание - HTMX 9.1 Подготовка окружения 9.2 Сервис подключения 9.3 Создание первой таблицы 9.4 Репозиторий вакансий 9.5 Сохранение вакансии 9.6 Очистка формы 9.7 Response target 9.8 Миграции 9.9 Упражнение - Карточка вакансии 9.10 Получение всех вакансий 9.11 Отображение списка 9.12 Go код в шаблонах 9.13 Упражнение - Вёрстка списка 9.14 Limit Offset 9.15 Count 9.16 Упражнение - Завершение списка 9.17 Тест - Pgx 9.18 Занятие - Pgx 9.19 Домашнее задание - Pgx 10.1 Вторая страница 10.2 Добавление сессий 10.3 Хранение сессий 10.4 Упражнение - Вёрстка логина 10.5 Упражнение - Имитация входа 10.6 Контекст 10.7 Упражнение - Выход пользователя 10.8 Middleware email 10.9 Тест - Сессии пользователя 10.10 Занятие - Сессии пользователя 10.11 Домашнее задание - Сессии пользователя 11.1 Обновление зависимостей 11.2 Использование JS 11.3 Проброс событий 11.4 Передача данных в JS 11.5 Другие подходы к JS 11.6 Тест - JS в Templ 11.7 Занятие - JS в Templ 11.8 Домашнее задание - JS в Templ 12.1 Добавление favicon 12.2 Meta теги 12.3 Sitemap 12.4 Написание Dockerfile 12.5 Запуск docker-compose 12.6 Упражнение - robots txt 12.7 Следующие шаги 12.8 Тест - Сборка для production 12.9 Занятие - Сборка для production 12.10 Домашнее задание - Сборка для production 13.1 Куда двигаться дальше 13.2 Собеседование с AI наставником 13.3 Финальное тестирование 13.4 Домашнее задание - Заключение 13.5 Сессия 1 на 1 с наставником