Skip to content

dimnok/projectgt

Repository files navigation

ProjectGT

Многофункциональное Flutter-приложение для управления строительными проектами.
Clean Architecture, Supabase, строгий минимализм, поддержка iOS/Android/Web.


📖 Оглавление


📝 Описание

ProjectGT — современное Flutter-приложение для автоматизации строительных и подрядных процессов. Использует Supabase как backend, реализует Clean Architecture, поддерживает строгий чёрно-белый минимализм, светлую и тёмную тему, кроссплатформенность (iOS, Android, Web).


🧱 Архитектура и принципы

  • Clean Architecture: разделение на слои (domain, data, presentation, features, core)
  • Riverpod: управление состоянием и DI
  • Freezed: иммутабельные модели
  • Supabase: backend, аутентификация, хранение файлов, RLS
  • PlutoGrid: работа с таблицами
  • Адаптивный UI: поддержка всех платформ

Подробнее: docs/architecture.md


🗂️ Структура проекта

lib/
  • core/ — общие компоненты, DI, утилиты (docs/architecture.md)
  • data/ — источники данных, модели, репозитории, миграции (docs/architecture.md)
  • domain/ — бизнес-сущности, интерфейсы репозиториев, usecases (docs/architecture.md)
  • features/ — функциональные модули (auth, employees, contractors, contracts, objects, estimates, works, fot, timesheet, profile)
  • presentation/ — глобальные состояния, темы, виджеты
docs/

🧩 Модули

  • Контрагенты (docs/contractors_module.md): управление юридическими лицами, интеграция с договорами.
  • Договоры (docs/contracts_module.md): учёт договоров, связи с объектами и контрагентами.
  • Сотрудники (docs/employees_module.md): кадровый учёт, мультивыбор объектов, загрузка фото.
  • Сметы (docs/estimates_module.md): импорт/экспорт Excel, детализация по позициям.
  • ФОТ (docs/fot_module.md): расчёт зарплаты, премии, штрафы, выплаты.
  • Объекты (docs/objects_module.md): управление строительными объектами, командировочные.
  • Профиль (docs/profile_module.md): роли, аватар, интеграция с Supabase Auth.
  • Смены/Работы (docs/works_module.md): учёт смен, работ, материалов, часов.
  • Табель (docs/timesheet_module.md): аналитика по отработанным часам, интеграция с другими модулями.

⚙️ Технологии и зависимости

  • Flutter (>=3.0.0)
  • Dart (>=3.0.0)
  • supabase_flutter
  • riverpod, hooks_riverpod
  • freezed, json_serializable
  • go_router
  • pluto_grid
  • excel, csv, file_picker
  • flutter_svg, flutter_dotenv, logger

Подробнее: docs/tech_stack.md


📝 Правила и стандарты

  • Clean Architecture: строгое разделение слоёв, DI через Riverpod.
  • UI/UX: строгий чёрно-белый минимализм, поддержка светлой/тёмной темы, Semantics, адаптивность.
  • Работа с БД: все операции через слой data, миграции в data/migrations, Supabase RLS.
  • Тестирование: покрытие бизнес-логики и интеграций, тесты в test/.
  • Безопасность: RLS, хранение ключей только в .env, не коммитить секреты.
  • CI/CD: поддержка автогенерации моделей, линтинг, профилирование.
  • Документация: поддерживать docs/ в актуальном состоянии, ссылки на все модули и схемы.

Best practices и подробности:


🚀 Инструкции по запуску

  1. Установка зависимостей

    flutter pub get
  2. Генерация моделей

    flutter pub run build_runner build --delete-conflicting-outputs
  3. Настройка .env

    • Скопируйте .env.example.env
    • Укажите свои ключи Supabase
  4. Запуск приложения

    flutter run
  5. Генерация документации

    ./tools/generate_docs.sh
    # Открыть docs/api/index.html в браузере

📚 Документация и ссылки


🧑‍💻 Контакты и поддержка

  • Вопросы и предложения — через Issues или Pull Requests.
  • Для новых разработчиков — обязательно изучить docs/README.md и docs/development_guide.md перед началом работы.

🏷️ Примечания

  • Все автогенерируемые файлы (*.g.dart, *.freezed.dart) не коммитятся.
  • SQL-миграции — в lib/data/migrations/.
  • Для расширения — добавляйте новые модули по аналогии с существующими.

Весь проект документирован и поддерживается в актуальном состоянии.
Для любого вопроса — см. раздел "Документация и ссылки".

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published