The purpose is to have a beta for a working program that implents the functionalities of a user module including the following:
1) A user can register
2) A user can get his password by email in case he forgets it
3) A registered user can login
4) As soon as a new account is created, then a new folder is created on the cloud storage for this user. Any files/ folders chosen to be watched on his local drive must be mapped under the newly created cloud folder for this user.
5) A registered user can set up a local folder(s) to synchronize with the cloud storage.
6) A registered user can create, update, modify, and delete a file in the cloud storage by accessing his equivalent local folder.
7) A registered user can start, pause, or stop the synchronizing service.
In addition; the structure of the program should allow for:
1) An unregistered user can login using his gmail, facebook, yahoo, and linkedin accounts.
2) A registered user can create a group where he can invite other users to be members.
3) A registered user can import his contact list from his gmail, facebook, linkedin, and yahoo email accounts.
4) without createing a group, a registered user can invite other users to be friends.
5) Friend relationship is "acquaintance" by default and can be set to any new type that the user enters in the future.
6) A group is free (free charge) by default. The free group has a flat structure where all members are at the same level.
7) A premium group has different levels for members. Members can be categorized into different categories ie CEO, manager, head of departments, Employees.
8) Each category of members in a premium group has different privileges.
9) A user can buy one or more premium groups.
10) A user can make limited number (ie five) of free groups.