Skip to content

kstepanchuk/crmgausdo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CRM Gausdo — система заявок на закупку

Этот репозиторий хранит код и знания о внутренней системе для ведения заявок на закупку. Текущая версия стабильна и используется в продакшене.

Обзор

CRM обеспечивает полный цикл работы с заявками: от создания и согласования до заказа и закрытия. Веб-интерфейс построен на Filament и адаптирован под несколько ролей с учётом прав доступа.

Ключевые возможности

  • Роли admin, purchaser и camp_manager с разграничением прав.
  • Форма заявки с повторителем позиций: наименование, количество, цена, тех. требования и автоподсчёт итогов.
  • Жизненный цикл заявки со статусами Draft → Submitted → Approved → Rejected → Ordered → Completed и архивированием.
  • Импорт позиций из Excel с предпросмотром и валидацией.
  • Шаблоны заявок для ускорения создания новых запросов.
  • Дашборд с быстрыми действиями (создать, список заявок, помощь).

Стек технологий

  • Backend: Laravel 12 (монолит) — базовая структура и миграции присутствуют в репозитории.
  • Admin UI: Filament v3 (панель настраивается через стандартный сервис-провайдер Filament).
  • БД: SQLite локально, MySQL в продакшене.
  • Хостинг: Beget (public_html с вынесенным public/).
  • Аутентификация: web guard, проверка доступа через User::canAccessPanel().

Материалы

Быстрый старт локально

  1. Установите зависимости: composer install.
  2. Скопируйте окружение: cp .env.example .env и сгенерируйте ключ php artisan key:generate.
  3. Создайте SQLite-файл database/database.sqlite или настройте MySQL в .env.
  4. Примените миграции и сиды: php artisan migrate --seed.
  5. Запустите dev-сервер: php artisan serve.

В сидере создаётся администратор admin@example.com с паролем password и демо-заявка.

Проверенные операции деплоя

  1. php artisan migrate --force
  2. php artisan storage:link
  3. php artisan optimize:clear
  4. php artisan config:cache
  5. php artisan route:cache

Известные особенности

  • Ошибка 403 после логина означает, что canAccessPanel() вернул false (часто из-за is_active = false).
  • При проблемах с ассетами на хостинге проверьте корректность public_html и симлинка storage.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors