Веб-приложение для управления персоналом компании, разработанное с использованием Python Flask и MySQL.
Система позволяет:
- Управлять данными сотрудников (добавление, редактирование, просмотр)
- Вести учет должностей и назначений
- Отслеживать образование сотрудников
- Просматривать аналитику и статистику
- Генерировать отчеты
- Python 3.8+
- Flask (веб-фреймворк)
- MySQL (база данных)
- Bootstrap 5 (фронтенд)
- Font Awesome (иконки)
- Скачайте OpenServer с официального сайта: https://ospanel.io/
- Установите OpenServer, следуя инструкциям установщика
- После установки запустите OpenServer
- В трее правой кнопкой нажмите на иконку OpenServer -> Настройки
- Во вкладке "Модули" убедитесь, что выбран MySQL-8.0
- В "PHP" выберите версию 8.0+
-
Откройте phpMyAdmin:
- Правой кнопкой на иконку OpenServer в трее
- Выберите "Дополнительно" -> "phpMyAdmin"
- Или перейдите по адресу: http://localhost/phpmyadmin
- Логин: root
- Пароль: root
-
Импорт базы данных:
- В phpMyAdmin нажмите "Импорт" в верхнем меню
- Нажмите "Выберите файл" и укажите
database.sqlиз корня проекта - Убедитесь, что выбрана кодировка UTF-8
- Нажмите "Выполнить"
- Установите Python 3.8 или выше
- Создайте виртуальное окружение:
python -m venv venv-
Активируйте виртуальное окружение:
- Windows:
venv\Scripts\activate - Linux/Mac:
source venv/bin/activate
- Windows:
-
Установите зависимости:
pip install flask pymysql- Убедитесь, что OpenServer запущен и MySQL сервер активен
- Активируйте виртуальное окружение Python
- Запустите приложение:
python app.py- Откройте браузер и перейдите по адресу: http://localhost:5000
project/
├── app.py # Основной файл приложения
├── database.sql # SQL файл с структурой базы данных
├── templates/ # HTML шаблоны
│ ├── base.html # Базовый шаблон
│ ├── index.html # Главная страница
│ ├── management.html # Управление сотрудниками
│ ├── analytics.html # Аналитика
│ └── settings.html # Настройки
└── static/ # Статические файлы (CSS, JS)
-
education_types- типы образования- id (INT, PRIMARY KEY)
- name (VARCHAR(100))
- created_at (TIMESTAMP)
-
positions- должности- id (INT, PRIMARY KEY)
- title (VARCHAR(100))
- description (TEXT)
- created_at (TIMESTAMP)
-
employees- сотрудники- id (INT, PRIMARY KEY)
- first_name (VARCHAR(100))
- last_name (VARCHAR(100))
- education_type_id (INT, FOREIGN KEY)
- created_at (TIMESTAMP)
-
employee_positions- назначения на должности- id (INT, PRIMARY KEY)
- employee_id (INT, FOREIGN KEY)
- position_id (INT, FOREIGN KEY)
- start_date (DATE)
- end_date (DATE)
- created_at (TIMESTAMP)
- Просмотр списка всех сотрудников
- Добавление нового сотрудника
- Редактирование информации о сотруднике
- Назначение на должность
- История назначений
- Статистика по должностям
- Распределение по типам образования
- Графики и диаграммы
- Управление справочниками
- Конфигурация системы
- Проверьте, что OpenServer запущен
- Убедитесь, что MySQL сервер активен
- Проверьте параметры подключения в
app.py:db_config = { 'host': 'localhost', 'user': 'root', 'password': 'root', 'database': 'employees', 'charset': 'utf8mb4' }
- Убедитесь, что база данных использует кодировку utf8mb4
- Проверьте наличие заголовка в HTML шаблонах:
<meta charset="UTF-8">
- Откройте phpMyAdmin
- Выберите базу данных "employees"
- Нажмите "Экспорт" в верхнем меню
- Выберите "Пользовательский" метод
- Отметьте опции:
- Структура
- Данные
- CREATE DATABASE
- USE DATABASE
- Выберите формат SQL
- Нажмите "Выполнить"