Nightlight
Shed light on the dark corners of your app
Nightlight is an admin tool that helps teams keep a fresh eye on all parts of their app, especially those parts that are commonly overlooked (until it becomes a problem).
Inspired by Cap Watkins' The Dark Corners of Your UI
Features
- Maintain a list of parts/pages/UI in your app ("pages" for simplicity). Easily sync with
GET
routes in yourconfig/routes.rb
, or manage the list manually as you need. - Indicate when you've checked/tested a page, with an optional status update (all good? any bugs? link to Trello card?)
- See which pages haven't been checked/tested in a while (I'm looking at you, password reset page)
- Assign pages to yourself to check, and see what other team members are checking
- Click a button to get a random page that nobody else is checking
Benefits
- Keep fresh eyes on pages/UI your team doesn't see very often (onboarding, edge cases)
- Discover things your automated tests aren't catching (CSS bugs, typos, bad impressions, forgot-to-update-that-too's)
- Discover things that user feedback isn't catching
- Improve product quality and internal product awareness (try: everyone on the team checks a random page every day)
- A way to share useful page/UI-level meta info across the team (useful notes, gotchyas, how-to's, please-don't's)
Installation
Add this line to your application's Gemfile:
gem 'nightlight'
And then execute:
$ bundle
Or install it yourself as:
$ gem install nightlight
Run the install generator:
rails g nightlight:install
rake db:migrate
And mount the dashboard in your config/routes.rb
:
mount Nightlight::Engine, at: "nightlight"
Authentication
Don’t forget to protect the dashboard in production.
Basic Authentication
Set the following variables in your environment or an initializer.
ENV["NIGHTLIGHT_USERNAME"] = "ben"
ENV["NIGHTLIGHT_PASSWORD"] = "secret"
Devise
authenticate :user, lambda{|user| user.admin? } do
mount Nightlight::Engine, at: "nightlight"
end
Credit
Inspired by:
Contributing
- Fork it ( https://github.com/bonsaiben/nightlight/fork )
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request