Цей документ допоможе вам налаштувати середовище розробки та зрозуміти процес додавання нових функцій.
- Go 1.26+
- Make
- SQLite
-
Клонування та залежності:
git clone https://github.com/basilex/lifeos.git cd lifeos make deps -
Налаштування оточення: Створіть файл
.env:make env-setup
Додайте свій
TELEGRAM_BOT_TOKEN. -
Запуск:
make build ./build/bot
- Live Reload: Для автоматичного перезапуску при зміні коду використовуйте
air:make dev
- Лінтинг: Перевірка якості коду:
make lint
- Форматування:
make fmt
Щоб додати новий Bounded Context (наприклад, "Цитати"):
- Domain Layer: Створіть сутність у
internal/domain/quote/. Визначте інтерфейс репозиторію. - Application Layer: Створіть
commands.goтаqueries.goуinternal/application/quote/. - Infrastructure Layer: Реалізуйте репозиторій у
internal/infrastructure/persistence/sqlite/. Додайте SQL міграцію. - Interfaces Layer: Створіть хендлер у
internal/interfaces/telegram/handlers/. - Registration: Зареєструйте все у
cmd/bot/main.go.
Запуск всіх тестів:
make testТести з покриттям коду:
make cover