<p><b>Техническое задание на разработку мобильного приложения "Управление автомобилями и клиентами"</b></p><p>1. Введение</p><p>Мобильное приложение предназначено для управления арендой автомобилей и клиентской базой. Приложение будет использоваться сотрудниками компании, предоставляющей автомобили в аренду. Основные функции включают управление клиентами, автомобилями, их техническим обслуживанием и занятостью, а также авторизацию и работу с данными через Firebase.</p><p>2. Цель проекта</p><p>Целью разработки является создание мобильного приложения, которое позволяет эффективно управлять клиентской базой и автомобилями, отслеживать техническое обслуживание автомобилей, планировать их занятость, а также улучшить качество работы с арендаторами.</p><p> 3. Функциональные требования</p><p> 3.1 Авторизация и управление доступом</p><p>- Авторизация пользователя при входе с использованием PIN-кода.</p><p>- Функция установки нового PIN-кода при первом входе в приложение.</p><p>- Проверка PIN-кода для входа в приложение.</p><p>- Сохранение PIN-кода</p><p> 3.2 Управление клиентской базой</p><p>- Отображение списка клиентов с возможностью просмотра информации о каждом клиенте.</p><p>- Добавление новых клиентов с вводом следующей информации: ФИО, номер водительского удостоверения, номер телефона, стаж вождения, рейтинг, цель аренды.</p><p>- Редактирование данных существующих клиентов.</p><p>- Удаление клиента из базы данных.</p><p>- Хранение данных о клиентах в Firestore.</p><p>3.3 Управление автомобилями</p><p>- Отображение списка автомобилей с информацией о каждом автомобиле.</p><p>- Добавление новых автомобилей в базу данных с указанием названия и статуса (в ремонте, в ожидании, в работе).</p><p>- Редактирование названия и статуса автомобилей.</p><p>- Удаление автомобилей.</p><p>- Хранение данных об автомобилях в Firestore.</p><p> 3.4 Техническое обслуживание автомобилей</p><p>- Добавление и управление записями технического обслуживания (ТО) для каждого автомобиля.</p><p>- Отображение списка ТО для выбранного автомобиля, включая дату, вид работ и стоимость.</p><p>- Редактирование и удаление существующих записей ТО.</p><p>- Хранение данных о ТО для каждого автомобиля в Firestore.</p><p> 3.5 Календарь занятости автомобилей</p><p>- Календарь занятости для отслеживания статуса каждого автомобиля (в работе, в ожидании, в ремонте).</p><p>- Добавление и редактирование занятости автомобилей на конкретные даты с указанием статуса, дохода, расходов, цели аренды, водителя.</p><p>- Отображение общей статистики за месяц (доход, расходы, чистая прибыль).</p><p>- Хранение данных о занятости для каждого автомобиля в Firestore.</p><p> 4. Нефункциональные требования</p><p> 4.1 Требования к интерфейсу</p><p>- Простой и понятный интерфейс.</p><p>- Поддержка русского языка.</p><p>- Адаптивный дизайн для корректного отображения на устройствах с разным размером экрана.</p><p>4.2 Требования к производительности</p><p>- Обеспечение быстрой загрузки данных из Firebase Firestore.</p><p>- Поддержка работы приложения в офлайн-режиме с возможностью синхронизации при подключении к интернету.</p><p> 4.3 Безопасность</p><p>- Хранение пользовательских данных в защищенном виде.</p><p>- Использование авторизации через PIN-код для предотвращения несанкционированного доступа.</p><p>- Ограничение прав доступа к данным в Firebase Firestore (правила безопасности).</p><p>5. Архитектура и стек технологий</p><p>- <b>Платформа</b>: Flutter .</p><p>- <b>База данных</b>: Firebase Firestore для хранения информации о клиентах, автомобилях, ТО и занятости.</p><p>- <b>Стейт-менеджмент</b>: Provider для управления состоянием приложения.</p><p>- <b>Firebase</b>: Авторизация и хранение данных.</p><p>- <b>Локальное хранилище</b>: SharedPreferences для хранения PIN-кода.</p><p> 6. Взаимодействие с пользователем</p><p>- <b>Главный экран</b>: Авторизация пользователя по PIN-коду.</p><p>- <b>Экран автомобилей</b>: Просмотр списка автомобилей, добавление/редактирование/удаление автомобиля.</p><p>- <b>Экран клиентов</b>: Просмотр списка клиентов, добавление/редактирование/удаление клиента.</p><p>- <b>Экран ТО</b>: Управление записями ТО для автомобилей.</p><p>- <b>Календарь занятости</b>: Планирование и просмотр занятости автомобилей.</p>