We already have a Joomla 3.x templated website with Jomsocial 2.8 installed, plus many other components. We would be giving that site to you to work on. This is not a project to design a whole site.
We will be creating a website where some users will be interfacing with very specific other users in a Mentor/Trainee relationship. For this reason we wish to build a system into the Joomla user base that will allow us to specify some users as “Mentor” and some users as “Trainee”.
This will allow us to develop further modules and/or components that will take this mentor/trainee relationship into account when a. determining what modules to display on the page based on user’s type, and b. determine what data to display in those modules.
For instance, A mentor may want to see how many userpoints his/her trainee’s have each. We would like the abililty to create a module that will display that information. Problem is, we do not have that kind of user relationship defined in Joomla. The goal of this project is to create that relationship.
It would be easy to just add a column to the users database and have it specify which other user is that user’s master. But we need a back-end control center, and supporting front-end modules that will allow for the maintenance of these user relationships.
This entire implementation must be compatible with Joomla 2.5 and Joomla 3.x.
This entire implementation must be compatible and integrated with Jomsocial 2.8+
There must be a Mentor user type created
There must be a Trainee user type created
There must be a regular user type that is not part of this and will not take part in training. (Joomla standard user)
Trainees can be assigned to Mentors.
Trainees can be assigned to Multiple Mentors as there may be situations where multiple mentors are needed by the Trainee to complete their goals.
On Joomla! and Jomsocial user registration, it must be possible to select the type of user the user will be. Either Mentor, Trainee or Regular User.
This implementation must not utilize the normal users table. We want to keep the users table intact. We can utiliize the existing fields in the users table to signify user type, that is fine. However, the hierarchial linkages will have to be kept in a separate database table. This will allow us to easily upgrade our joomla installation in the future without worrying about non-compatible user tables.
Back-End control center (displayed in admin portal)
It must be possible to set what Trainee information sets the Mentor user can view. These information sets are information that will be stored in the Trainee user’s jomsocial or joomla core profile.
It must be possible to set what Mentor information sets the Trainee user can view. These information sets are information that will be stored in the Mentor user’s jomsocial or joomla core profile.
It must be possible to view Mentor->Trainee linkages.
It must be possible to change Mentor->Trainee linkages.
Front End Modules (modules viewable from website frontend)
Trainees must have a jomsocial module that will show them a list of Mentors in the system. Initial development of this module only needs to show the Mentor’s picture associated with their jomsocial profile that is linked to that Trainee’s profile page.
Mentors must have a jomsocial module that will allow them to view their assigned trainees. Initial development of this module only needs to show the Trainee’s picture associated with their jomsocial profile that is linked to that Trainee’s profile page.
Mentors must have a jomsocial module that will allow them to disconnect from a trainee in the system if their training relationship is over. This must be a front-end module.
Trainees must have a jomsocial module that will allow them to break the link between themselves and their Mentor. This must be a front-end module.