Веб-приложение для анализа и визуализации данных об IT-компаниях Калининградской области. Система позволяет просматривать информацию о компаниях, фильтровать данные, проверять аккредитацию и создавать отчеты.
- Просмотр данных: Анализ 120+ IT-компаний с информацией о выручке, налогах, численности сотрудников
- Фильтрация: Множественные фильтры по различным параметрам (ОКВЭД, выручка, налоги, численность, аккредитация)
- Проверка аккредитации: Автоматическая проверка статуса аккредитации через API Госуслуг
- Система ролей: Разделение доступа между директором и сотрудником
- Генерация отчетов: Создание детальных отчетов по выбранным компаниям (только для директора)
- Внутренняя почта: Система внутренней электронной почты с виртуальными адресами (например,
admin@metrika.com,username@metrika.com) - Отправка отчетов по почте: Возможность отправки Excel-отчетов сотрудникам через внутреннюю почтовую систему
- Интерактивный интерфейс: Живой поиск, сортировка таблиц, быстрые фильтры
- Backend: Django 5.2.8 (Python)
- Frontend: HTML, CSS, JavaScript (vanilla)
- База данных: SQLite
- Внешние API: Госуслуги (проверка аккредитации IT-компаний)
- Python 3.8+
- pip (менеджер пакетов Python)
-
Клонируйте репозиторий (или скачайте проект):
git clone <url-репозитория> cd my_prof
-
Создайте виртуальное окружение (рекомендуется):
python -m venv venv
-
Активируйте виртуальное окружение:
- Windows:
venv\Scripts\activate
- Linux/Mac:
source venv/bin/activate
- Windows:
-
Установите зависимости:
pip install -r requirements.txt
-
Примените миграции базы данных:
python manage.py migrate
-
Создайте тестовых пользователей:
python manage.py create_users
run_dashboard.batpython manage.py runserverПосле запуска откройте браузер и перейдите по адресу: http://127.0.0.1:8000/
После выполнения команды create_users будут созданы следующие пользователи:
- Логин:
director - Пароль:
director123
- Логин:
employee - Пароль:
employee123
my_prof/
├── dashboard_app/ # Основное приложение
│ ├── migrations/ # Миграции базы данных
│ ├── management/ # Кастомные команды (create_users)
│ ├── services.py # Бизнес-логика и работа с данными
│ └── ... # Остальные файлы приложения
├── dashboard_site/ # Настройки проекта Django
│ ├── settings.py # Конфигурация приложения
│ └── urls.py # Маршрутизация URL
├── data/
│ └── dop_material.csv # Исходные данные о компаниях
├── static/ # Статические файлы (CSS + JS)
│ └── dashboard_app/
│ ├── styles.css # Основные стили
│ ├── mail.css # Стили почтовой системы
│ └── dashboard.js # JavaScript для интерактивности
├── templates/ # HTML шаблоны
│ └── dashboard_app/
│ ├── dashboard.html # Главная страница
│ ├── login.html # Страница авторизации
│ ├── mail_inbox.html # Входящие письма
│ ├── mail_sent.html # Отправленные письма
│ └── mail_view.html # Просмотр письма
├── manage.py # Точка входа Django
├── requirements.txt # Зависимости проекта
├── run_dashboard.bat # Быстрый запуск на Windows
└── README.md # Этот файл
- ✅ Просмотр всех данных
- ✅ Использование всех фильтров
- ✅ Обновление аккредитации компаний
- ✅ Создание отчетов
- ✅ Отправка отчетов через внутреннюю почту
- ✅ Доступ к внутренней почте
- ✅ Просмотр всех данных
- ✅ Использование всех фильтров
- ✅ Доступ к внутренней почте (получение писем с отчетами)
- ❌ Обновление аккредитации (недоступно)
- ❌ Создание отчетов (недоступно)
- Поиск по названию компании или ФИО руководителя
- Фильтр по ОКВЭД
- Фильтр по применению УСН
- Фильтр по аккредитации
- Фильтры по выручке (мин/макс)
- Фильтр по налогам
- Фильтр по численности сотрудников
- Фильтры по годам данных
- Совокупная выручка
- Совокупные налоги
- Средняя численность штата
- Доля компаний на УСН
- Топ компания по выручке
Система автоматически проверяет статус аккредитации компаний через API Госуслуг. Директор может обновить статус аккредитации для выбранных компаний. Время обновления отображается в локальном часовом поясе.
Система включает полнофункциональную внутреннюю почту без необходимости внешнего домена:
-
Виртуальные email-адреса: Каждому пользователю автоматически присваивается внутренний email-адрес:
- Директор:
admin@metrika.com - Сотрудники:
username@metrika.com(гдеusername- логин пользователя)
- Директор:
-
Отправка отчетов: Директор может отправлять Excel-отчеты сотрудникам через внутреннюю почту:
- Выбор получателя из списка сотрудников
- Автоматическое создание письма с вложенным отчетом
- Уведомление получателя о новом письме
-
Почтовый интерфейс:
- Входящие письма с фильтрацией (все/прочитанные/непрочитанные)
- Отправленные письма
- Просмотр отдельных писем с возможностью скачать вложенный отчет
- Счетчик непрочитанных писем в шапке сайта
-
Уведомления: Система автоматически отслеживает непрочитанные письма и отображает их количество
Доступ к админ-панели: http://127.0.0.1:8000/admin/
Для входа используйте суперпользователя (создайте через python manage.py createsuperuser).
# Применить миграции
python manage.py migrate
# Создать суперпользователя
python manage.py createsuperuser
# Создать тестовых пользователей
python manage.py create_users
# Запустить сервер разработки
python manage.py runserver
# Собрать статические файлы (для продакшена)
python manage.py collectstaticДанные о компаниях загружаются из файла data/dop_material.csv. Для обновления данных:
- Замените файл
data/dop_material.csvновыми данными - Перезапустите сервер (данные кэшируются в памяти)
python manage.py migrate --run-syncdbУбедитесь, что виртуальное окружение активировано и все зависимости установлены:
pip install -r requirements.txtИспользуйте флаг -X utf8 при запуске Python:
python -X utf8 manage.py <команда>Этот проект создан в образовательных целях.
Разработано для анализа данных IT-компаний Калининградской области.
При возникновении проблем создайте issue в репозитории проекта.