I have multiple organizations( 3 to 4 in United states, in future it may increase). Each organization has super admin(s) [In general one super admin] and admins [Admins for each activity] and Students under an each admin. The Organizations helps student to learn activities like swimming, painting and cycling.
Each parent has children (one or many) and these children will involve in activities like painting, swimming,music,cycling in USA.
Organization head is super admin. He can create admins like one for painting, one for swimming, one for music, one for cycling . Whenever super admin creates an admin, that corresponding admin should receive a mail from super admin with user id as email id and a temporary password. When admin clicks on the link admin resets password, and log into his page. Admin can create a student profile under him and attach parents email to each student profile. Whenever admin creates a student profile for swimming activity an email will go to parent saying that your child was registered for swimming activity with parent email id and temp password. Lets say that parent has two children and one is registered for Swimming activity and other registered for Painting activity. When swimming activity admin creates student profile for swimming we have seen the process. When another admin creates another student profile for Painting activity, then that corresponding parent should be sent an email saying that your child was registered in Painting activity and this time no userid and temporary password is sent as he is registered with email id for the first child.
An super admin can map admins with their tasks like swimming, painting etc., and can create or update or delete multiple admins at a time. We can use excel sheet as template to create multiple admins or to create multiple students list in an activity. Whenever multiple admins are created in excel sheet by super admin and upload it to send a email to every one, a queue (JMS queue or Rabbit MQ ) is triggered to send emails one after another, and after sending an email it should be updated in database that an email was sent. Similarly an activity admin (swimming admin or painting admin) can create students list in an excel sheet template and can upload it such that email will go the parents of the students using Queue (Rabbit MQ) and update in database.
Similarly Admin can create number of students under him and parent email associated with each student. Swimming admin needs to create a node which includes only the students who are in swimming. Painting admin needs to create a node which includes only the students who joined to learn painting. For example lets say a parent has two children and one is in painting class and other is in swimming class.
We have 3 organizations named organization 1, organization 2, organization 3. When an parent log(s) in, he should go to corresponding student page. Admin of a particular node can send information to all students (common information like swimming class starts on 6 PM next Wednesday ) and that information can be seen by parents when they login and can reply back to admin too. Whenever any information is sent to students an email should go to parent that admin has some message and similarly whenever parent replies back an email should go to admin.