diff --git a/README.md b/README.md index ea688ac..8a3181a 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ ``` git clone - cd time-tracking + cd time-tracking-eltex ``` 2. Установите зависимости для backend: @@ -31,7 +31,7 @@ ## Настройка -1. В папке `backend` создайте файл `.env` на основе `.env.example` и настройте переменные окружения (например, подключение к базе данных). +1. В папке `backend` создайте файл `.env` на основе `.env.example` и настройте переменные окружения (например, подключение к базе данных PostgreSQL). 2. Настройте базу данных: ``` @@ -64,6 +64,6 @@ ## Технологии -- Backend: Node.js, Express, Sequelize, JWT -- Frontend: React, Vite, Axios -- Database: SQLite (или другая, в зависимости от конфигурации) +- Backend: Node.js, Express, Sequelize, JWT, PostgreSQL +- Frontend: React, Vite, Axios, Bootstrap +- Database: PostgreSQL diff --git a/backend/utils/timeCalculator.js b/backend/utils/timeCalculator.js index 701c93a..1eefd4e 100644 --- a/backend/utils/timeCalculator.js +++ b/backend/utils/timeCalculator.js @@ -122,7 +122,7 @@ function calculateWorkHours(startDate, startTime, endDate, endTime) { currentDate.setDate(currentDate.getDate() + 1); } - return totalMinutes / 60; // Возвращаем часы + return Math.round((totalMinutes / 60) * 10) / 10; // Возвращаем часы с округлением до 1 знака после запятой } module.exports = { diff --git a/frontend/README.md b/frontend/README.md index 18bc70e..4c7a3a0 100644 --- a/frontend/README.md +++ b/frontend/README.md @@ -1,16 +1,55 @@ -# React + Vite +# Frontend - Time Tracking Application -This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. +Клиентская часть приложения для отслеживания рабочего времени, построенная на React с использованием Vite для быстрой разработки. -Currently, two official plugins are available: +## Описание -- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Babel](https://babeljs.io/) (or [oxc](https://oxc.rs) when used in [rolldown-vite](https://vite.dev/guide/rolldown)) for Fast Refresh -- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh +Этот проект представляет собой интерфейс для управления записями рабочего времени. Он предоставляет пользователям возможность добавлять, просматривать и управлять своими временными записями в зависимости от их роли (администратор, менеджер, пользователь). -## React Compiler +## Функциональность -The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see [this documentation](https://react.dev/learn/react-compiler/installation). +- Аутентификация пользователей +- Добавление и редактирование записей времени +- Просмотр табеля учета времени +- Управление пользователями (для администраторов) +- Просмотр подчиненных (для менеджеров) +- Экспорт данных в Excel +- Отзывчивая дизайн с использованием Bootstrap -## Expanding the ESLint configuration +## Технологии -If you are developing a production application, we recommend using TypeScript with type-aware lint rules enabled. Check out the [TS template](https://github.com/vitejs/vite/tree/main/packages/create-vite/template-react-ts) for information on how to integrate TypeScript and [`typescript-eslint`](https://typescript-eslint.io) in your project. +- **React** 19.1.1 - Основной фреймворк +- **Vite** 7.1.7 - Инструмент сборки и разработки +- **React Router** 7.9.4 - Маршрутизация +- **Axios** 1.12.2 - HTTP клиент для API запросов +- **Bootstrap** 5.3.8 - CSS фреймворк для стилизации +- **React Icons** 5.5.0 - Иконки +- **XLSX** 0.18.5 - Экспорт в Excel + +## Команды + +- `npm run dev` - Запуск сервера разработки +- `npm run build` - Сборка для продакшена +- `npm run lint` - Проверка кода ESLint +- `npm run preview` - Предпросмотр сборки + +## Структура проекта + +``` +src/ +├── components/ # Компоненты интерфейса +├── contexts/ # React контексты (аутентификация) +├── services/ # Сервисы для работы с API +├── assets/ # Статические файлы +└── ... +``` + +## Разработка + +Для локальной разработки убедитесь, что backend сервер запущен и доступен по соответствующему порту. Затем запустите: + +```bash +npm run dev +``` + +Приложение будет доступно по адресу http://localhost:5173 (стандартный порт Vite).