Server overview
- Users
- User must have the following properties
- email
- password
- list of owned resources - by "owned" we'll understand resources that are created by the user, by default this list will be empty
- User may have:
- avatar - image, no matter the size the avatar have fixed dimensions , during upload the image may have to be re-sized. Size limitation should be pointed.
- screen name - the name that will be shown to other users, by default this will be the mail of the user
- description - text that describes the user
- Users have read, write or no rights for all resources. If they don't have rights for certain resource, they don't see it at all.
- Groups: Users can create groups and invite other users to it. User can "read" or "write" inside the group. By "write" we'll understand that they can change groups properties, invite or remove other users.The user that create a group will have the write rights over it. User with read rights will only be members of the group. Following properties are included:
- name - required
- avatar - same as user avatar
- description
- Behavior:
- Registration: Should have email validation
- Forgot password: will send new password to user's email address.
- Group invitation: email notification should present here
- Pages
- Register user page: Should contain text input controls for all properties that the user can give input on
- email - required
- password - required
- repeat password - required
- upload image control - with description of size limitation
- screen name
- description
- Edit profile: User should be able to edit his profile all the controls from above should present. However "password" field becomes "new password" and "repeat password" becomes "repeat new password".
- Forgot password: user should be asked for email
- Browse page: User should be able to browse the server resources.
- Also should be able to filter resources by following criteria:
- My resources - resources owned by the user
- My books - books owned by the user
- Books only
- Images only
- Sounds only
- Movies only
- Scripts only
- PDF only
- Flash Movie only
- Frames only
- Date filter - show resources updated or/and created inside time interval. Should be able to select two dates one for start and one for end. Also should select to display only updated or crated
- Resources should be presented inside data grid with following columns
- name
- owner
- group (if any)
- date created
- last update
- NOTE: User should be able to sort the results by any of the columns
- Search page
- Search result page - same as browse
- View Group page
- Create Group page
- Manage Group
- Resource details: Every resource have detailed page, that include the following info and functionality
- Preview resource - small thumb with preview
- Entire meta data for the resource
- open button
- share button - allow the user to share the resource to other users or groups.
- delete button
- Book rights
- The rights for the parent are applied to its children.
- When a book is shared with the user he initially has only read rights.
- Write rights should be given explicitly by other user with such rights.
- Other way of granting rights to more than one user is using a group.
- The user will have the higher right in case of overlapping book. (e.g. The group has read rights, the user before he was added to the group has write right, hence the user still has the right to read.)
Download in other formats: