Rails Tabler Стартер
Начальный шаблон Rails, который можно использовать для быстрого создания и прототипирования. От идеи до реализации за несколько часов. Нажмите здесь, чтобы просмотреть демо-приложение. Посетите страницу настройки демо-версии, чтобы переключить настройки приложения.
Цели
Это руководство предназначено для разработчиков Rails, знакомых с инфраструктурой, и призвано облегчить разработку с использованием следующих принципов:
- Нет DSL: избегайте ненужной сложности доменно-специфического языка (DSL).
- Простота выше эффективности: отдавайте предпочтение простоте реализации, а не чрезмерной оптимизации.
- Избегайте сложной функциональности внешнего интерфейса. Сохраняйте функциональность внешнего интерфейса простой и управляемой.
Обзор
ЭРД Аутентификация и авторизация пользователя
- Аутентификация через Devise
- Интеграция OmniAuth для расширения аутентификации с использованием сторонних поставщиков.
- Авторизация через Pundit
Фоновый рабочий и планировщик
- Использует Sidekiq и Sidekiq-планировщик.
Управление ролями
- Стандартные роли, доступные в разных пространствах
- Создание собственных ролей для каждого пространства
- Поддерживает детальные разрешения для каждой роли.
Поддержка нескольких пространств имен пользователей
- Использует модель
Space
для представления пространств имен пользователей (например, групп, организаций). - Пример варианта использования для включения многопространственного режима — Saas-приложение.
- Пример использования для отключения многопространственного режима — внутренний инструмент организации.
Готовые макеты пользовательского интерфейса
- Высококачественные элементы пользовательского интерфейса и макеты от Tabler
Ориентирован на развитие
- Annotate — аннотирование классов Rails с информацией о схеме и маршрутах.
- Brakeman — статический анализатор уязвимостей безопасности.
- Byebug — простой отладчик
- Dotenv — загрузка переменных среды из
.env
Настраивать
Чтобы настроить проект, убедитесь, что PostgreSQL и Redis установлены локально. Для их установки используйте следующие команды:
brew install postgresql@12 redis
Клонировать репозиторий
git clone https://github.com/tarunvelli/rails-tabler-starter.git
Установите необходимые зависимости, используя asdf, или настройте версии .tool-versions
другим предпочтительным способом:
Настройте и запустите сервер разработки:
Чтобы предоставить пользователю административные привилегии и получить доступ к функциям администратора, выполните в консоли Rails следующую команду:
bundle exec rails c
> User.first.update(admin: true)
Настройки приложения
Переключить настройки приложения в /setup/edit
AppSettings.interface_layout
- Макет приложения
- значения ["ВЕРТИКАЛЬНО", "ВЕРТИКАЛЬНО-ПРОЗРАЧНО", "ГОРИЗОНТАЛЬНО", "ПЕРЕКРЫТИЕ", "СВЕРНУТО"]
AppSettings.interface_mode
- Светлый/Темный режим приложения
- «СИСТЕМА» выбирает режим из системных настроек.
- Значения ["СВЕТ", "ТЕМНО", "СИСТЕМА"]
AppSettings.interface_theme
- Цветовая тема приложения
- Значения ["DEFAULT", "COOL"]
AppSettings.login_layout
один из
- Расположение экранов входа в систему
- Значения ["ПО УМОЛЧАНИЮ", "ИЛЛЮСТРАЦИЯ", "ОБЛОЖКА"]
AppSettings.multi_tenant_mode
- Когда true, пользователи могут регистрироваться и создавать пространства.
- Если false, только администратор может приглашать пользователей и создавать пространства.
- Значения [истина, ложь]
AppSettings.show_landing_page
- Когда истинный корневой путь отображает целевую страницу
- Когда ложный корневой путь перенаправляет на страницу входа
- Значения [истина, ложь]
Развертывание
Выберите предпочитаемую платформу развертывания:
- Развертывание на Fly.io
- Развертывание на Heroku
Вклад
Вклад в улучшение этого стартера очень поощряется и приветствуется! Не стесняйтесь отправлять запросы на включение и улучшать проект вместе.