Skip to content

Latest commit

 

History

History
65 lines (53 loc) · 1.92 KB

File metadata and controls

65 lines (53 loc) · 1.92 KB

Розробка LifeOS

Цей документ допоможе вам налаштувати середовище розробки та зрозуміти процес додавання нових функцій.

🛠️ Вимоги

  • Go 1.26+
  • Make
  • SQLite

🚀 Швидкий старт

  1. Клонування та залежності:

    git clone https://github.com/basilex/lifeos.git
    cd lifeos
    make deps
  2. Налаштування оточення: Створіть файл .env:

    make env-setup

    Додайте свій TELEGRAM_BOT_TOKEN.

  3. Запуск:

    make build
    ./build/bot

🛠️ Інструменти розробки

  • Live Reload: Для автоматичного перезапуску при зміні коду використовуйте air:
    make dev
  • Лінтинг: Перевірка якості коду:
    make lint
  • Форматування:
    make fmt

🏗️ Як додати нову функцію

Щоб додати новий Bounded Context (наприклад, "Цитати"):

  1. Domain Layer: Створіть сутність у internal/domain/quote/. Визначте інтерфейс репозиторію.
  2. Application Layer: Створіть commands.go та queries.go у internal/application/quote/.
  3. Infrastructure Layer: Реалізуйте репозиторій у internal/infrastructure/persistence/sqlite/. Додайте SQL міграцію.
  4. Interfaces Layer: Створіть хендлер у internal/interfaces/telegram/handlers/.
  5. Registration: Зареєструйте все у cmd/bot/main.go.

🧪 Тестування

Запуск всіх тестів:

make test

Тести з покриттям коду:

make cover