Skip to content

shamilfrontend/fleetmanager

Repository files navigation

FleetManager - Система управления автопарком

Веб-приложение для автоматизации управления автопарком, контроля закрепления активов за сотрудниками, управления топливными картами и аналитики использования транспортных средств.

Технологический стек

Frontend

  • Vue 3 (Composition API)
  • TypeScript
  • Vite
  • Pinia
  • Vue Router
  • Axios
  • SCSS

Backend

  • Node.js
  • Express
  • MongoDB
  • Mongoose
  • JWT
  • Bcrypt

Установка и запуск

Требования

  • Node.js 18+
  • MongoDB
  • Yarn или npm

Backend

  1. Перейдите в директорию backend:
cd backend
  1. Установите зависимости:
yarn install
  1. Создайте файл .env на основе .env.example:
cp .env.example .env
  1. Настройте переменные окружения в .env:
PORT=5002
MONGODB_URI=mongodb://localhost:27017/fleetmanager
JWT_SECRET=your-secret-key-change-in-production
JWT_REFRESH_SECRET=your-refresh-secret-key-change-in-production
NODE_ENV=development
  1. Запустите сервер:
yarn dev

Frontend

  1. Перейдите в директорию frontend:
cd frontend
  1. Установите зависимости:
yarn install
  1. Создайте файл .env (опционально):
VITE_API_URL=http://localhost:5002/api
  1. Запустите dev-сервер:
yarn dev

Приложение будет доступно по адресу http://localhost:3000

В production при сборке frontend обязательно задайте VITE_API_URL (см. frontend/.env.example).

CI

При push и pull request в ветки main или master в GitHub Actions запускаются:

  • Frontend: установка зависимостей, yarn lint, yarn test, yarn build
  • Backend: установка зависимостей, yarn lint, yarn test --run, yarn build

Подробнее о локальных проверках и правилах разработки — в CONTRIBUTING.md.

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

fleetmanager/
├── frontend/          # Vue 3 приложение (см. frontend/README.md)
├── backend/           # Express API (см. backend/README.md)
├── shared/            # Общие типы (@fleetmanager/types)
├── CONTRIBUTING.md    # Правила разработки и CI
└── README.md

Роли пользователей

  • Администратор - полный доступ ко всем разделам
  • Менеджер - управление сотрудниками, картами, транзакциями
  • Водитель - ограниченный доступ (личные карты, гараж)

Документация API

Описание API в формате OpenAPI 3.0: backend/openapi.yaml. В режиме разработки backend отдаёт Swagger UI по адресу http://localhost:5002/api-docs.

API Endpoints

Аутентификация

  • POST /api/auth/register - Регистрация
  • POST /api/auth/login - Вход
  • POST /api/auth/refresh - Обновление токена
  • GET /api/auth/me - Получение текущего пользователя

Автомобили

  • GET /api/cars - Список автомобилей
  • GET /api/cars/:id - Детали автомобиля
  • POST /api/cars - Создание автомобиля
  • PUT /api/cars/:id - Обновление автомобиля
  • DELETE /api/cars/:id - Удаление автомобиля

Сотрудники

  • GET /api/employees - Список сотрудников
  • GET /api/employees/:id - Детали сотрудника
  • POST /api/employees - Создание сотрудника
  • PUT /api/employees/:id - Обновление сотрудника
  • DELETE /api/employees/:id - Удаление сотрудника

Карты

  • GET /api/cards - Список карт
  • GET /api/cards/:id - Детали карты
  • POST /api/cards - Создание карты
  • PUT /api/cards/:id - Обновление карты
  • DELETE /api/cards/:id - Удаление карты

Транзакции

  • GET /api/transactions - Список транзакций (с фильтрами)
  • GET /api/transactions/:id - Детали транзакции
  • POST /api/transactions - Создание транзакции
  • PUT /api/transactions/:id - Обновление транзакции
  • DELETE /api/transactions/:id - Удаление транзакции

Лицензия

MIT

About

система управления автопарком

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors