DBHero is a simple and elegant web interface to extract data clips from your app database. just plug and play ;)
tested stack:
- PostgresSQL
- Ruby 2+
- Rails 4.1+
include in your Gemfile:
gem 'dbhero'
then run:
rails g dbhero:install
This will create an initializer in config/initializers/dbhero.rb
Take a look in this initializer to tweak the default attributes.
and add on your routes file:
mount Dbhero::Engine => "/dbhero", as: :dbhero
run server and open http://localhost:3000/dbhero
On initializer config/initializers/dbhero.rb
we can add the following configurations
Dbhero.configure do |config|
# limits the total of rows that show on clips, if clip result os greather
# that result rows of query then should show a button to download csv
# this prevent that browser crashes :)
config.max_rows_limit = 10_000
# if you are using devise you can keep the "authenticate_user!"
config.authenticate = true
# Method to get the current user authenticated on your app
# if you are using devise you can keep the "current_user"
config.current_user_method = :current_user
# Custom authentication condition hover current_user_method
config.custom_user_auth_condition = lambda do |user|
user.admin?
end
# String representation for user
# when creating a dataclip just save on user field
config.user_representation = :email
# Google drive integration, uncomment to use ;)
# you can get you google api credentials here:
# https://developers.google.com/drive/web/auth/web-server
# google drive callback url -> /dbhero/dataclips/drive
config.google_api_id = 'GOOGLE_API_ID'
config.google_api_secret = 'GOOGLE_API_SECRET'
end
This project rocks and uses MIT-LICENSE.