-
Notifications
You must be signed in to change notification settings - Fork 5
Information Architecture
mckoss edited this page Mar 8, 2012
·
10 revisions
Information architecture for our project (schema and site navigation).
Project data model outline. All models have created and modified properties as well as an AppEngine created id (primary key). Standard REST-ful data access
applies:
http://streetcode-sw.appspot.com/data/<model> - collection (GET, POST)
http://streetcode-sw.appspot.com/data/<model>?prop=value - filtered collection (GET)
http://streetcode-sw.appspot.com/data/<model>?prop=value* - filtered prefix (GET)
http://streetcode-sw.appspot.com/data/<model>/id - item (GET, PUT, DELETE)
- displayName
- fullName
- story (long text)
- sponsor
- imageURL
- shortCode
- name
- url
- address
- phone
- name
- phone
- isAdmin
- sponsor
- user (app engine credentials)
- client
- donor
- ledger
- transaction
- fromAccount (e.g., 'stripe')
- toAccount (e.g. 'sponsor_id/client_id' like 'sponsor_64/client_12')
- amount
- type
- note
- confirm
- name
- price
- description
This web application serves several different constituents, with access to different functions:
- Donors: Mobile web interface displayed after scanning a Clients's QR-Code. The site home page is also primarily targeted at Donors.
- Sponsors: Partner organizations access to client administration pages.
- Administrators: Site administration, setting up Sponsors and User accounts.
-
/: Home pages, marketing, positioning
- /about
- /terms-of-service
-
/client/
<nickname>
: Mobile landing page for a Client (hand typed)- **/client/
nickname?s=q
: QR Code (mobile) landing page.
- **/client/
-
/admin/: Admin home page (requires is_admin_user)
- (AppEngine) Admins see user list and sponsor list links. Normal users redirect to /admin/sponsor/id for their sponsor organization.
- /admin/user/: User list (Admin only)
-
/admin/user/
id
: View/Edit user (id == 'new' to create new user) - /admin/sponsor/: Sponsor list (Admin only)
- /admin/sponsor/id: View/Edit a sponsor (id == 'new' also) (Admin OR any or the sponsor's users) Also show client list (Ajax generated) here.
- /admin/client/id: Individual Client view/edit (id == 'new' allowed) page. (Admin or sponsor allowed). (Note: Admins who edit will have to specify WHICH sponsor the client is for.
-
/data/
model-name
: REST interface to get list of all "model's".-
/data/
model-name?prop=value
: Subset list of all "model's" where property equals value. -
/data/
model-name
/id
: Individual model JSON object.
-
/data/