Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mshahzadtariq/devise-activity
Track signed-in user sessions and site navigation in an easy to traverse format
https://github.com/mshahzadtariq/devise-activity
devise devise-activity gem rails5 ruby ruby-gem ruby-on-rails stats tracking
Last synced: about 5 hours ago
JSON representation
Track signed-in user sessions and site navigation in an easy to traverse format
- Host: GitHub
- URL: https://github.com/mshahzadtariq/devise-activity
- Owner: mshahzadtariq
- License: mit
- Created: 2019-03-22T13:20:34.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2019-04-10T16:14:52.000Z (over 5 years ago)
- Last Synced: 2024-09-18T01:41:22.589Z (7 days ago)
- Topics: devise, devise-activity, gem, rails5, ruby, ruby-gem, ruby-on-rails, stats, tracking
- Language: Ruby
- Size: 32.2 KB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.rdoc
- License: MIT-LICENSE
Awesome Lists containing this project
README
= DeviseActivity
Keep history of user page views and time spent on different pages in rails. This gem depends on devise gem and uses devise 'current_user' helper method which can be configured.
== Installation
Simply add trackstamps gem to your Gemfile.
gem 'devise-activity'
Install bundler gems
bundle install
Install trackstamps
rails generate devise_activity:install
You can change sessions and navigations table names from generated configuration file (config/initializers/devise_activity.rb) before generating migration.
Generate migration on required model's tablerails generate devise_activity:migration
Include DeviseActivity module to application controller or admin etc for which you want to track user activities
class ApplicationController
include DeviseActivity.....
end
Execute migrations
rake db:migrate
And now you are ready to track changes
== Usage
It will automatically keep of sign in's, sign out's and page views history in sessions and navigations table i.e.
DeviseActivity::Session.all
will return last account was created by which user. Similarily
DeviseActivity::Session.last.navigations
DeviseActivity::Session.where(user_id: 12).all
DeviseActivity::Session.where(user_id: 12).last.navigations
DeviseActivity::Navigation.count
DeviseActivity::Navigation.last.action
DeviseActivity::Navigation.last.controller
DeviseActivity also provide few handy model methods for Statistics
DeviseActivity::Stats.most_visits_by
DeviseActivity::Stats.least_visits_by
DeviseActivity::Stats.most_popular_controller
DeviseActivity::Stats.least_popular_controller
DeviseActivity::Stats.most_popular_action
DeviseActivity::Stats.least_popular_action
DeviseActivity::Stats.most_visited_page
DeviseActivity::Stats.least_visited_page
DeviseActivity::Stats.most_sign_ins_by
DeviseActivity::Stats.total_sign_ins(user)
== TODO
* Mongoid ORM support
== Contributing
1. Fork it
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Added some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create new Pull Request