Современная админ-панель для управления системой мониторинга призовых и торговых автоматов, построенная на React, TypeScript и Ant Design Pro.
Можно описывать проект миллионом слов, а можно просто пойти в демо и попробовать самому.
Данные сбрасываются каждый час.
Десктоп | Мобильная версия |
---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
- Управление владельцами - создание, редактирование и удаление владельцев терминалов, автоматов и тп.
- Управление терминалами - настройка терминалов с привязкой к владельцам
- Управление машинами - добавление призовых автоматов к терминалам
- Мониторинг - отслеживание доходов, игрушек и транзакций
- Управление телефонами - ведение учета телефонных платежей
- Управление ценами - настройка цен на игры
- Управление арендой - учет арендных платежей
- Дашборд - общая статистика и быстрые действия
- Инвентарь - система управления складскимми запасами и остатками в автоматах
- Аккаунтинг - система учета доходов и расходов
- Уведомления - отчеты в телеграм о разных событях
- Общие информационные карточки - чтобы закреплять частую и важную информацию для пользователей, в том числе и секреты
- Документы - Хранение документов в том же месте, где и ведется работа над бизнесом
- React 18 - основная библиотека
- TypeScript - типизация
- Ant Design - UI компоненты
- Ant Design Pro - компоненты админ-панели
- React Router - маршрутизация
- FastAPI - веб-фреймворк
- SQLAlchemy - ORM
- PostgreSQL - база данных
- Pydantic - валидация данных
- JWT - аутентификация
- MinIO - объектное хранилище
- Node.js 16+
- npm или yarn
- Docker и Docker Compose
- Python 3.12+ (для разработки)
# Клонирование репозитория
git clone <repository-url>
cd aif-core
sh build-frontend-custom.sh /
cp -r ./frontend-build/* /var/www/html
# Запуск всех сервисов
docker-compose up -d
# Проверка статуса
docker-compose ps
Сервисы будут доступны по адресам:
- Frontend: nginx root path
- Backend API: http://localhost:28000
- MinIO Console: http://localhost:9001
- PostgreSQL: localhost:5432
Админ-панель полностью адаптивна и корректно отображается на:
- Десктопах
- Планшетах
- Мобильных устройствах
- Темная боковая панель с навигацией
- Современный дизайн в стиле Ant Design
- Русская локализация всех элементов
- Интуитивная навигация между разделами
- Быстрые действия на главной странице
- Поиск и фильтрация во всех таблицах
- Пагинация для больших объемов данных
- Статистика по количеству владельцев, терминалов и машин
- Общий доход от всех автоматов
- Последние записи мониторинга
- Быстрые ссылки на основные разделы
- CRUD операции для всех сущностей
- Валидация форм с понятными сообщениями об ошибках
- Подтверждение удаления для предотвращения случайных удалений
- Связи между таблицами (владельцы → терминалы → машины)
- Отслеживание доходов в реальном времени
- Статистика по игрушкам и транзакциям
- Фильтрация по датам и машинам
- Валидация всех входных данных
- Защита от XSS атак
- Безопасная работа с API
- Подтверждение критических операций
- Ленивая загрузка компонентов
- Оптимизированные запросы к API
- Эффективная пагинация
По умолчанию приложение настроено на работу с API по адресу http://localhost:3001/api
.
Для изменения URL API создайте файл .env
в корне проекта:
REACT_APP_API_URL=http://your-api-url.com/api
npm run build
Или воспользоваться контейнером для сборкии
sh build-frontend-custom.sh /
Собранные файлы будут в папке frontend-build/
- Создайте новый компонент в
src/pages/
- Добавьте маршрут в
src/App.tsx
- Добавьте пункт меню в
src/components/Layout.tsx
- Создайте API сервис в
src/services/api.ts
- Добавьте типы в
src/types/index.ts
Каждая страница содержит:
- Таблицу с данными (ProTable)
- Модальные окна для создания/редактирования
- Формы с валидацией
- Обработку ошибок
- Уведомления пользователю
MIT License
Для получения поддержки или сообщения об ошибках создайте issue в репозитории проекта.
Приложение поставляется с демо данными:
- 2 владельца
- 2 терминала
- 3 призовых автомата
- Записи мониторинга
- Примеры цен и аренды
Все данные хранятся в памяти бэкенда и сбрасываются при перезапуске сервера.
- Управление типами счетов и счетами
- Категории контрагентов и контрагенты
- Категории транзакций
- Полное управление транзакциями с расширенной фильтрацией