Basic mind mapping web service

已关闭 已发布的 Jul 12, 2009 货到付款
已关闭 货到付款

Need a basic service implemented in the language and database of your choosing which will serve as the online storage back-end for mind mapping software. The service will be a RESTful one, returning either JSON or XML (although JSON is preferred, you can decide which of these to return for responses) for GET requests. Since this is just the back-end, you will not need to do any web design/CSS/HTML etc - the service will be used by other end-user clients (not part of this project scope).

## Deliverables

The following is a rough (but fairly comprehensive) list of the set of requests that the service should handle:

* Users

* Add new user to the service

* Delete existing user from the service

* Set brief user profile (plain text, < 1K characters)

* Login as a user

* Logout

* Get user profile given a username

* List all users, ordered by date user signed up

* List all users, ordered by date user performed a mind map edit

* List all users, ordered by number of associated mind maps user has

* List all users, ordered by number of mind map edits user has

* Keywords

* List all public mind maps which have a particular keyword associated with them, ordered by date last edited

* List all public mind maps associated with keyword, ordered by number of views

* List all public mind maps associated with keyword, ordered by number of edits

* List all public mind maps associated with keyword, edited in last X days, ordered by number of edits

* List all public mind maps associated with keyword, edited in last X days, ordered by number of views

* *Note some of the above list actions can be combined into one with different request parameters*

* Mind map

* Add new mind map, and associate it with a user

* Delete existing mind map

* Rename a mind map

* Set mind map description

* Make a mind map public or private (boolean flag)

* Associate a particular keyword with the mind map

* Remove a keyword association previously created for the mind map

* Increment the view count (single number) on a mind map, and set the last viewing user

* Increment the edit count (single number) on a mind map, and set the last editing user

* List all public mind maps, ordered by date last edited

* List all public mind maps a particular user created, ordered by date last edited

* List all public mind maps edited in last X days, ordered by number of edits

* List all public mind maps, ordered by number of edits

* List all public mind maps edited in last X days, ordered by number of views

* List all public mind maps, ordered by number of views

* List all private mind maps created by the currently logged in user, using the various ordering criteria above

* *Note some of the above list actions can be combined into one with different request parameters*

* Mind map elements

* Add a new mind map element whose parent is some other mind map element, and which is associated with a certain mind map and a particular user (that is, each mind map element can be created by a different user)

* Delete a mind map element

* Set user-specific lock on element, which is checked as pre-requisite for all other mind map element editing requests

* Set mind map element type (an enumeration which is one of text, image, comment, or summary)

* Set mind map element text

* Set mind map element image (if its an image element)

* Set a summary mind map element's encapsulating children range (two numbers - a low and high index)

* List all root mind map elements which root a particular mind map

* List all mind map elements that are children of another mind map element

* List all mind map elements that are in a particular mind map, ordered by how far they are hierarchically from the mind map's root element (i.e., ordered by their depth)

You can expect the scope to not change much beyond what's above. You will notice that most of the work involved will be in creating the data models and implementing mostly CRUD operation request/responses.

Amazon Web Services 工程 MySQL PHP 项目管理 软件构架 软件测试

项目ID: #2800243

关于项目

远程项目 活跃的Aug 3, 2009