Commit Graph
36 Commits
Author SHA1 Message Date
Jonathan Bernard 850edf9e25 Updated test data. 2011-05-07 21:30:00 -05:00
Jonathan Bernard dd3387a0f1 Trying to tighten up the design. More functionality implemented. 2011-05-03 12:50:03 -05:00
Jonathan Bernard cf5153c90b Merge branch 'api-redesign' into client-redesign 2011-05-03 12:40:06 -05:00
Jonathan Bernard 3d89477f7e Added ext_data field to ts_user. 2011-05-03 12:27:39 -05:00
Jonathan Bernard ebd4b117c9 Updated database to use lists instead of atoms for table keys. 2011-05-03 12:27:13 -05:00
Jonathan Bernard 9b3f587974 Changed record keys to use lists instead of atoms.
Using atoms will not scale in the large. Also, using atoms as keys forced the
API to convert arbitrary end-user input to atoms, adding another potential
drain of the finite atom-space available.

- ts_api: url paths are now treated and matched as lists, not atoms.
  Usernames and API calls all use lists now.
- ts_json: key items (username, timeline ids) are now expected to be lists,
  not atoms.
2011-05-03 12:24:23 -05:00
Jonathan Bernard 77fc3f2a07 Created prototype HTML. 2011-05-03 12:00:27 -05:00
Jonathan Bernard 302bc9ccdd Trying to gather thoughts and code coherently.
Added client-side architecture model.
Playing with UI code.
2011-04-27 14:11:54 -05:00
Jonathan Bernard 9025a2f8f6 Trying a view for user, timeline(s), entry(ies). 2011-04-20 09:40:54 -05:00
Jonathan Bernard aec172536e Merge branch 'api-redesign' into client-redesign 2011-04-15 14:30:28 -05:00
Jonathan Bernard 5b267ec67b Switched usage of POST and PUT verbs.
- POST and PUT were being used counter to typical usage, POST updating existing
  records and PUT creating new ones. Changed to PUT updating existing records
  and POST creating records.
2011-04-15 13:53:24 -05:00
Jonathan Bernard 17c5b9cbd1 API now returns just the content in the body.
- Instead of returning Meta-Data (status) in the header and the body, we now
  only return the content in the body, except in error when we return the error
  message.

- JSON entries use the 'id' name for entity ids (instead of 'username',
  'timeline_id', and 'entry_id')
2011-04-15 13:51:01 -05:00
Jonathan Bernard e10ec26a21 Implementing new client design using Backbone.js. 2011-04-15 13:26:55 -05:00
Jonathan Bernard d0aab2d0c6 merge. 2011-04-10 17:20:43 -05:00
Jonathan Bernard b6d05665bf Moved timestamper to root of server. 2011-04-10 17:16:30 -05:00
Jonathan Bernard 81fb56022c Merge branch 'stable' 2011-03-17 04:17:26 +00:00
Jonathan Bernard 76f32ac834 Moved timestamper under JDB Labs. 2011-03-17 04:17:10 +00:00
Jonathan Bernard 4d124ffeba Fixing dev config. Starting to implement sign-up.
Added 'default' make target to only compile.
Reset development configuration.
Commented out starts of tests.
Added sign-up GUI to login panel.
Moved application from /ts/ to /
2011-03-16 07:39:09 -05:00
Jonathan Bernard 1b981b206c Created timestamper_dev module, logging. 2011-03-11 15:08:18 +00:00
Jonathan Bernard c185c8cd81 Deciding on UI for entry list. 2011-03-06 13:46:18 -06:00
Jonathan Bernard 439a080f14 Started adding implementation of client-side functionality.
- Changed ts_api:dispatch_user/3 to return information for the user currently,
  authenticated if a valid session id is presented and no username is presented.
- Moved the generic styling of form > * elements to be specific to .bar > form.
- Added jQuery U 1.8.0.
- Created login dialog that will automatically load upon page load if the user
  is not logged in.
- Added styling for jQuery UI login dialog.
- Implemented login functionality on the client page.
- Implemented functionality to load user and timeline records on the client
  side.
2011-03-01 08:23:51 -06:00
Jonathan Bernard 4492f87a39 Added user_summary to api.
Added ts_api:dispatch_app/3
Added ts_api:get_user_summary/2
Fixed compile errors in ts_user.
Added comments.
2011-02-24 07:29:30 -06:00
Jonathan Bernard ddc12cec64 Further work on web interface. 2011-02-14 09:01:32 -06:00
Jonathan Bernard 19fc37c772 Working on new entry. 2011-02-13 11:38:50 -06:00
Jonathan Bernard d743635865 Added more JS event handler implementations. 2011-02-12 14:57:29 -06:00
Jonathan Bernard 6197363508 More progress on the application page.
Created and styled the forms for updating user/timeline information.
Wired the hidden forms to links that expose them using jQuery.
2011-02-12 07:48:19 -06:00
Jonathan Bernard dcd836ba8e Testing out design ideas. 2011-02-11 08:32:12 -06:00
Jonathan Bernard afca12ecc9 Started working on the client-side code. 2011-02-10 07:47:35 -06:00
Jonathan Bernard 0642c18a6e Implemented cookie-based authentication to the API.
Created timestamper module to start the application.
Added cookie-based authentication to ts_api.
Added utility methods to ts_api:
    * make_json_400/1 and make_json_400/1
    * make_json_401/1 and make_json_401/2
    * parse_json_body/1 reads a JSON object from a HTTP request body.
Implemented ts_api_session module to manage api user sessions.
Fixed ts_entry:list* methods to be 0-indexed.
Removed the ts_json:ejson_to_record/1 implementation for ts_user records.
    Decided that ts_user records are never trusted from the client,
    manipulation of fields such as pwd, username will be restricted to
    app pages.
Changed the password hashing algorithm. Now uses SHA1(pwd + 256bit salt).
    Want to use bcrypt, investingating cross-platform bcrypt implementation.
Fixed yaws.conf config file.
2011-02-07 08:56:07 -06:00
Jonathan Bernard 5809ed3959 Implementing API 2011-02-05 08:57:34 -06:00
Jonathan Bernard 098cd4cbb9 Continue to implement the API.
Started implementing ts_api:list_entries/3
Implemented ts_api:get_entry_by_id/4
2011-01-31 10:04:01 -06:00
Jonathan Bernard 309d6915fc Additional parts of the API, DB layer.
Implemented additional API functions:
    * dispatch_timeline/4
    * dispatch_event_by_id/4
    * get_timeline/3
    * put_timeline/3
    * post_timeline/3
    * make_json_404/2, make_json_405/2, make_json_500/1
Implemented ts_timeline:lookup/2
Implemented ts_entry:lookup/2
2011-01-30 08:28:56 -06:00
Jonathan Bernard b690326cf4 Small addition to ts_api. 2011-01-29 13:41:27 -06:00
Jonathan Bernard 0d96c26174 Started craeting API dispatch and implementation. Updated api doc. 2011-01-29 10:46:45 -06:00
Jonathan Bernard 495336fc58 Starting DB implementation.
Added Makefile, id_counter.erl, and yaws.conf.
Created ts_common module. Will contain common DB code. So far only list/3.
Created ts_timeline module. DB code for storing timeline entries.
Created ts_entry module, DB code for storing timelin entries.
2011-01-28 06:49:47 -06:00
Jonathan Bernard 111da51c73 Beginning API documentation. 2011-01-28 03:22:21 -06:00