Skip to content

SapsanAdmin - простое решение для редактирования и управления данными вашего Play2-приложения.

Notifications You must be signed in to change notification settings

RumataEstorsky/SapsanAdmin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 

Repository files navigation

SapsanAdmin

Возможности

  • Автоматическое управление данными вашего веб-приложения
  • Возможность использовать как в Java, так и Scala проектах (в качестве ORM для моделей используется Ebean)
  • Простой в подключении, настройке, несложный API
  • Гибкий:
    • можно настраивать поведение через глобальные настройки
    • поведение конкретной модели можно настроить через аннотации к данной модели и её полям
    • при создании специфичных страниц интерфейса достаточно заменить конкретную страницу, оставив на остальных все преимущества Сапсана
  • Экономный: старается не расходовать лишние такты процессора и байты оперативной памяти
  • Не требует от вас подключения множества внешних библиотек
  • Близок по интерфейсу к RailsAdmin

Установка

  • Для работы у вас должен быть установленный и настроенный Play Framework версии 2.1 или выше.

  • Создайте новый проект play new example, консоль Play спросит какой проект Вы хотите создать (Scala или Java).

    Сапсан может работать с обоими типами проектов, но если Вы выберите Scala то потребуется вручную подключить зависимости javaCore, javaJdbc, javaEbean в файле project/Build.scala, при этом зависимости Anorm и jdbc лучше отключить;

    а также добавить строку ebean.default="models.*" в файл conf/application.conf

  • Отредактируйте в новом проекте файл project/Build.scala и добавьте в раздел зависимостей библиотеку Сапсана:

  val appDependencies = Seq(
      // ...
      "ru.myscala" % "sapsan_2.10" % "0.1"
    )

также добавьте в этот же файл ссылку на репозиторий Сапсана:

  val main = play.Project(appName, appVersion, appDependencies).settings(
      resolvers += Resolver.url("SapsanAdmin GitHub Repository", url("https://rumataestorsky.github.com/releases/"))(Resolver.ivyStylePatterns)
  )

и не забудьте подключить import Keys._ в этом файле (если он не подключён).

  • Далее добавьте в файл conf/routes подключение маршрутов
    ->      /admin                              sa.Routes
    

это лучше сделать сразу после основного маршрута "/". Естественно, /admin это необязательный адрес, вы можете задать более удобный для себя.

Настройка

  • В конфигурационном файле вашего проекта conf/application.conf добавьте следующие строки:

    sapsan {
        # Название приложения, будет отображаться в заголовке админки
        name = "Супер-пупер"
        # Вести ли историю редактирования записей
        history = yes
        # Сколько записей на страницу будет помещаться в списках
        pagination.items_per_page = 10
    }
    
  • Не забудьте настроить подключение к БД, conf/application.conf например, так:

    db.default {
        driver=org.postgresql.Driver
        url="postgres:https://user:secret@localhost/mydatabase"
    }
    

    и подключить соответствующую библиотеку в project/Build.scala, например "postgresql" % "postgresql" % "9.1-901.jdbc4"

  • Для создания пользовательского интерфейса Сапсан использует Twitter Bootstrap 3 его необходимо скачать, распаковать и поместить в соответствующие подкаталоги /public вашего проекта. Если Вы не хотите делать это вручную, то может быть вам поможет этот скрипт

Описание моделей

  • Далее Вам необходимо описать модели данных (для каждой таблицы БД - свою модель). Правила описания моделей смотрите в вики Сапсана. Примеры моделей есть в демонстрационном приложении (ссылка дана ниже)

Запуск

  • После описания моделей запустите своё приложение, например выполнив play run и перейдите по адресу https://localhost:9000/admin (если вы вводили admin в файле routes)

Пример работы

Документация

  • Вы можете ознакомиться с принципами работы и управления SapsanAdmin в разделе вики

About

SapsanAdmin - простое решение для редактирования и управления данными вашего Play2-приложения.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published