Веб-приложение для автоматизации управления автопарком, контроля закрепления активов за сотрудниками, управления топливными картами и аналитики использования транспортных средств.
- Vue 3 (Composition API)
- TypeScript
- Vite
- Pinia
- Vue Router
- Axios
- SCSS
- Node.js
- Express
- MongoDB
- Mongoose
- JWT
- Bcrypt
- Node.js 18+
- MongoDB
- Yarn или npm
- Перейдите в директорию backend:
cd backend- Установите зависимости:
yarn install- Создайте файл
.envна основе.env.example:
cp .env.example .env- Настройте переменные окружения в
.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
- Запустите сервер:
yarn dev- Перейдите в директорию frontend:
cd frontend- Установите зависимости:
yarn install- Создайте файл
.env(опционально):
VITE_API_URL=http://localhost:5002/api
- Запустите dev-сервер:
yarn devПриложение будет доступно по адресу http://localhost:3000
В production при сборке frontend обязательно задайте VITE_API_URL (см. frontend/.env.example).
При 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 в формате OpenAPI 3.0: backend/openapi.yaml. В режиме разработки backend отдаёт Swagger UI по адресу http://localhost:5002/api-docs.
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