forked from DartmouthHackerClub/ddstown
-
Notifications
You must be signed in to change notification settings - Fork 0
mcdigman/ddstown
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
DDSTOWN
=======
This is a site that gives users userful info about their DDS usage.
It's a little weird in that it needs to be launched from a bookmarklet.
We get the user to log in to managemyid and then grab her data from the browser and send it to our back-end.
This way we don't have to store their managemyid password or anything.
However, we /do/ store people's usage data. For analytics.
Parts
====
bookmarklet/
------------
The code for the bookmarklet.
There's one html page that actually has the bookmarklet link that the user should drag in to her favorites bar. But this just pulls in some other javascript. The other javascript it pulls in is also in this dir (addendum.js). (Conveniently, the bookmarklet also pulls in jquery!)
addendum.js does this, or something like it:
* log the person in to managemyid
** just send to login page?
** open up an iframe and have them log in through it?
* send 2 background/ajax requests
** GET: the current balance page
** POST: the transaction_history page (needs to send the right form data to get a full transaction history)
* send the user to our rails back-end, via post, including the in
rails/
------
the back-end code.
* takes the html for the two pages from managemyid
* parses the raw data out of them
* stores that raw data
** ties it to a user so that we know it's the same person when we get their data again
** but probably just uses a hash of the name as the identifier, so that we can protect anonymity
* computes some useful information from the raw data
* passes that useful information to the rails front-end view
front_end/
----------
the front-end code.
* displays useful information about DDS usage
sample_data/
------------
sample data
Interfaces
==========
NOTE: READ THIS. EACH TEAM SHOULD HAVE A GOOD SENSE OF WHAT THEIR PART INPUTS AND OUTPUTS
communicate early and often with the team(s) that you interface with
bookmarklet:
------------
input: user clicks it :)
output: a post request to our rails back-end, containing two fields:
current_balance_html: the full html of the "Current Balance" page from ManageMyID
transaction_history_html: the full html of the "Transaction History" page (after form submission) from ManageMyID
sample versions of both of these pages are in sample_data/
rails/
------
input: the output from the bookmarklet (see above)
output: sends the right values/data to a rails view
front_end/
----------
should be clear by now.
the front_end team should feel free to ignore rails initially and simply build a static html/js page with hard-coded data. we can convert it to a rails view easily later.
Game Plan
=========
* make sure everyone is on the same page for this design
* break in to teams
* hack
* eat pizza
* ????
* profit
* probably we'll want to ditch our initial 3-directory code layout once we're actually stitching the pieces together
** the front_end goes in rails' views dir, and the bookmarklet payload/"addendum" goes in rails' "static files" dir.
* advertise on bored@baker
* advertise elsewhere
If people want to spin off and do non-tech stuff (thinking about advertising this, etc), that could be cool.
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published