Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/honza/bond
Bond - the spy agent
https://github.com/honza/bond
Last synced: about 5 hours ago
JSON representation
Bond - the spy agent
- Host: GitHub
- URL: https://github.com/honza/bond
- Owner: honza
- License: bsd-2-clause
- Created: 2012-05-30T09:34:51.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2012-06-12T13:13:41.000Z (over 12 years ago)
- Last Synced: 2024-04-16T01:44:52.132Z (7 months ago)
- Language: Clojure
- Size: 152 KB
- Stars: 6
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Bond - the spy agent
====================Bond spies on your users and tells you how many times a day each user made a
request on your site. It records who the user is, what url they request and
when the request was made.Bond is made up of two parts: Django middleware and a Clojure server that
parses all the collected data and shows you a nice graph. Bond uses Redis to
store data and Rickshaw to display the graphs.![screenshot](https://img.skitch.com/20120531-1cjcr5w9meu62515nmmmwjgsah.jpg)
Use case
--------If you are a freelancer, you need your clients to go and make sure the app
you're building for them does what they want. You build the thing and then you
send them an email, requesting that they check it out and give you feedback. I
find that this sometimes takes forever. Bond allows you to see if the client
has viewed your site and what parts of it they inspected. I find this
especially helpful in volunteer situations where the client isn't financially
involved. With Bond, you don't have to keep asking, *Have you checked out the
changes I made?*django middleware
-----------------Add the middleware to your `MIDDLEWARE_CLASSES`:
MIDDLEWARE_CLASSES = (
'yourproject.middleware.BondMiddleware',
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
)You can add an excludes entry to your `settings.py`:
BOND_EXCLUDES = (
'/admin/'
)Note that `startswith` is used to match the urls.
Clojure server
--------------This is a simple Noir app.
Edit `bond.config` and:
cd server
lein deps
lein runOpen your browser to `http://localhost:8080`.
Disclaimer
----------This is my first Clojure project and I'm still very much learning the language
and the idioms.License
-------BSD, short and sweet.