Skip to content

Flash-Kaa/GuestAccounting

Repository files navigation

📋 Тестовое задание — Учёт гостей на свадьбе

🧠 Цель задания

Проверить базовые технические навыки, способность работать с архитектурой проекта, писать читаемый код и покрывать его тестами.

✅ Общие требования

  • Код должен соответствовать принципам чистого кода
  • Приложение должно быть оформлено в виде репозитория на GitHub или GitLab
  • README должен быть информативным и понятным

📱 Описание задания

Разработать мобильное приложение для учёта гостей на свадьбе. Пользователь должен иметь возможность удобно управлять столами и гостями.

🔧 Основной функционал

  • Добавление столов

    • Название нового стола формируется автоматически:
      • "Стол №(n + 1)", где n — номер последнего добавленного стола
  • Добавление гостей

    • У каждого гостя есть:
      • Имя
      • Возраст
      • Пол
      • Сторона (жених / невеста)
    • Гость добавляется сразу в конкретный стол
  • Отображение столов и гостей

    • Список всех столов с вложенными в них гостями
    • Возможность сворачивать / разворачивать столы
    • Гости жениха выделяются мягким зелёным фоном
    • Гости невестымягким розовым фоном

✨ Дополнительные возможности

  • Drag-n-drop: перетаскивание гостей между столами
  • Хранение данных в SQLite
  • Индикатор заполненности стола (например, максимум 8 гостей)
  • Написание BDD-сценариев с использованием Cucumber + Espresso

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

app/
├── main/
│   ├── data/               # Источники данных: Room, репозитории, модели
│   │   ├── local/
│   │   ├── repository/
│   │   └── model/
│   ├── domain/             # Бизнес-логика: модели, интерфейсы
│   │   ├── model/
│   │   └── interfaces/
│   ├── presentation/       # UI
│   │   ├── common/
│   │   │   ├── table/
│   │   │   └── guest/
│   │   └── map/
│   ├── di/                 # Dagger модули
│   ├── utils/              # Вспомогательные классы и расширения
│   └── MainActivity.kt     # Точка входа
├── test/                   # Unit-тесты 
└── androidTest/            # Инструментальные тесты

🧪 Тестирование

  • Обязательно покрыть основную бизнес-логику unit-тестами
  • Опционально: использовать BDD с Cucumber и Espresso для пользовательских сценариев

🎥 Демонстрация

Вы можете посмотреть короткое видео с примером работы приложения:

▶️ Смотреть демо (guest_accounting.webm)

About

Приложение для учета гостей на свадьбе

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages