Skip to content

Koloda55SA/-

Repository files navigation

Таксопарк

Приложение для управления таксопарком: админ-панель + мобильное приложение для водителей.

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

├── admin-panel/          # Веб-панель администратора
│   ├── index.html        # Главная страница
│   ├── css/style.css     # Стили
│   └── js/               # JavaScript модули
│       ├── config.js     # Firebase конфигурация
│       ├── auth.js       # Авторизация
│       ├── drivers.js    # Управление водителями
│       ├── waybills.js   # Путевые листы
│       ├── settings.js   # Настройки компании
│       └── app.js        # Главный модуль
├── mobile-app/           # Flutter мобильное приложение
│   ├── lib/              # Исходный код
│   │   ├── main.dart     # Точка входа
│   │   ├── screens/      # Экраны
│   │   └── services/     # Сервисы (PDF генерация)
│   └── android/          # Android конфигурация
├── firebase/             # Firebase правила и индексы
├── .github/workflows/    # GitHub Actions (сборка APK)
└── .firebaserc           # Firebase проект

Функционал

Админ-панель (admin-panel)

  • Авторизация администратора
  • Регистрация новых водителей (создание аккаунта + профиля)
  • Управление водителями (активация/деактивация/удаление)
  • Просмотр путевых листов
  • Настройки компании

Мобильное приложение (mobile-app)

  • Вход водителя по email/паролю
  • Просмотр профиля
  • Генерация путевого листа (PDF)
  • История путевых листов

Технологии

  • Frontend: HTML/CSS/JS + Firebase SDK
  • Mobile: Flutter + Firebase
  • Backend: Firebase (Firestore + Authentication)
  • Hosting: Cloudflare Pages (админ-панель)
  • CI/CD: GitHub Actions (сборка APK)

Деплой

Админ-панель

Хостится на Cloudflare Pages: https://taxopark-admin.pages.dev/

APK

Собирается автоматически через GitHub Actions при пуше в main. Скачать APK можно в разделе Releases.

Настройка

Firebase Console (обязательно перед запуском)

  1. Firestore Database → создать (если ещё не создан)
  2. Authentication → Sign-in method:
    • Включить Email/Password (используется и админом, и водителями)
    • Phone Auth больше не нужен
  3. Authentication → Users → Add user — создать первого администратора:
    • Email: <цифры_номера>@asempro.admin Пример: телефон +7 915 395-53-83 → email 79153955383@asempro.admin
    • Password: любой ≥ 6 символов (это пароль для входа в админку)
    • Скопировать UID созданного пользователя
  4. Firestore → Data → коллекция admins, документ с ID = UID администратора:
    admins/<UID> = {
      phone: "+79153955383",
      role:  "admin",
      createdAt: <timestamp>
    }
    
  5. Firestore → Rules → загрузить правила из firebase/firestore.rules
  6. Открыть админ-панель https://taxopark-admin.pages.dev/ и войти:
    • Номер телефона: +7 915 395-53-83
    • Пароль: тот, что задавали на шаге 3
  7. Заполнить настройки компании по умолчанию (раздел «Настройки»)
  8. Регистрировать водителей — пароль по умолчанию = последние 6 цифр номера

Логика входа водителей

  • Логин в приложении: номер телефона (любой формат: +7..., 8..., 7...)
  • Пароль: задаётся администратором при регистрации
  • Под капотом используется Firebase Email Auth с синтетическим email вида <digits>@asempro.driver (водитель этого не видит)

Сброс пароля и удаление водителя

При нажатии «Сбросить пароль» или «Удалить водителя» в админ-панели создаётся запись в коллекции passwordResets / driverDeletions. Эти операции пока обрабатываются вручную через Firebase Console (раздел Authentication → Users) до тех пор, пока не будет развёрнута Cloud Function для автоматизации.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors