Existing database schema consists of users holding 1 or more positions within divisions of a company. Divisions can be nested, as can positions. (E.g. "Acme PLC." > "European Division" > "UK Office" > "General Manager (Fred)" > "Book-keeper (Bob)").
Profile pages for companies, divisions or users should show the hierarchy above, and list the divisions or positions below them. Positions can give the user permission to edit profiles 1) company-wide, 2) for the division they are in, 3) for the users below them or 4) just for their own profile.
Positions with appropriate permissions can add, edit or remove users in their division/company. Users removed from a position will see that position marked as finished, with a start and end date.
All users can browse and add other users to groups (e.g. Colleagues, Contacts, Suppliers), and request they add them to a group as well. Once both users have added each other to a group they can send PMs. PMs can also be sent to an entire group, or to all the users they know. Users can choose to receive PMs by email, by RSS feed or via web interface only.
User profile pages should show a history of previous and current positions held by the user in all companies/divisions, as well as an uploaded photo and biography. Contact details can either be public or only shown to selected groups defined by that user (e.g. Colleagues, Contacts but not Suppliers).
Project should be written in 100% Java using Spring MVC and Hibernate. Scriptless JSP should be used for the views using XHTML and CSS, with localised resource bundles. AJAX powered popup elements should be used for sending PMs and profile editing (re-ordering groups, adding/editing contact details etc.)
Full database specification to follow.
9 freelancers are bidding on average $1206 for this job
Hi, We are an outsourcing firm with a panel of talented designers and coders. We have specialized in web development and internet marketing since 2003 and we have proven work delivery policies. Please see PMB.