/document_template_app

The document template app from fast send information.

Primary LanguageRuby

Document Template Application

Этот проект представляет собой приложение на Rails 7, использующее importmaps и bootstrap 5, предназначенное для работы с шаблонами документов. Основные функции включают аутентификацию, авторизацию, управление ролями, локализацию и REST API для сервисов работы.

Технологии

  • Ruby 3.3.4
  • Rails 7
  • PostgreSQL 10+
  • Bootstrap 5
  • Rspec для тестирования
  • ActiveStorage для управления файлами
  • Sidekiq для фоновых заданий
  • Devise для аутентификации
  • Cancancan для авторизации
  • Doorkeeper для OAuth авторизации
  • Pghero для профилирования
  • Strong_migrations для безопасных миграций

Установка

  1. Убедитесь, что у вас установлены Ruby 3.3.4 и bundler:

    rbenv install 3.3.4
    gem install bundler
  2. Создайте gemset и переключитесь на него:

    rbenv gemset create 3.3.4 document_template_app
    rbenv gemset use 3.3.4@document_template_app
  3. Клонируйте репозиторий:

    git clone <URL вашего репозитория>
    cd <имя вашего проекта>
  4. Установите зависимости:

    bundle install
  5. Настройте базу данных:

    rails db:setup
  6. Запустите сервер:

    rails server

Конфигурация

Локализация

Приложение поддерживает три языка: английский (en), русский (ru) и казахский (kz). Файлы локализации находятся в директории config/locales.

Админка

Для управления админской частью приложения используйте стандартный путь /admin. Доступ предоставляется только пользователям с соответствующей ролью.

Фоновые задачи

Sidekiq используется для выполнения фоновых задач. Панель управления Sidekiq доступна по пути /sidekiq.

Профилирование

Для профилирования запросов к базе данных используется PgHero. Панель управления PgHero доступна по пути /pghero.

Тестирование

Для тестирования используется Rspec. Запустить тесты можно командой:

bundle exec rspec