help required with a concept.

51 views
Skip to first unread message

Asish Ojha

unread,
Aug 21, 2020, 8:04:31 PM8/21/20
to Django users
i am designing a project on online registration of students for an educational institution. Now that institution is having several schools registered under it. The School has a school id code and school name. Now i want a generalised login system for the school where they have their school id code as their login id and a standard password trend like school_ind@institution and as a second level authentication a sms based otp. Now when the school logs in it can register students for the exam and while registering the school id shown in school choices of student is the only the school id with which login has been done and in list view only students of that particular school shows up. the school login shud have the crud right for that schools student. how to implement this .

Ogunsanya Opeyemi

unread,
Aug 22, 2020, 1:42:19 AM8/22/20
to django...@googlegroups.com
Hi you need to carefully create an algorithm because this implementation is a big one. Send your whatsapp number to me if you still dont get what i meant. If i could help you in it.


On Saturday, August 22, 2020, Asish Ojha <asis...@gmail.com> wrote:
i am designing a project on online registration of students for an educational institution. Now that institution is having several schools registered under it. The School has a school id code and school name. Now i want a generalised login system for the school where they have their school id code as their login id and a standard password trend like school_ind@institution and as a second level authentication a sms based otp. Now when the school logs in it can register students for the exam and while registering the school id shown in school choices of student is the only the school id with which login has been done and in list view only students of that particular school shows up. the school login shud have the crud right for that schools student. how to implement this .

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/237d8174-5144-4bbb-a418-d5e3f9712366n%40googlegroups.com.


--
OGUNSANYA OPEYEMI

Mike Dewhirst

unread,
Aug 22, 2020, 2:36:11 AM8/22/20
to django...@googlegroups.com
From my perspective the difficult part is OTP and interfacing with SMS because I haven't done that before.

The relational design requires modeling real world relationships which usually isn't hard. 

Trying to use "@institution" for userid is fraught with potential problems. Normally a registration system lets a user keep entering names until getting one that is unique. 

I built a similar system where it is companies rather than schools and consultants (and employees) get linked by foreign key to only one company. That means they only see that company's information. However, any consultant can work for multiple companies. We decided in that case they had to have multiple logins and we recommended they use @company for the sole reason of reminding themselves which company they are currently working on. That works because they can use for example mike@thiscompany and mike@thatcompany etc. The software doesn't care what the userid is and nor should it. Keep things as simple as possible.

Users can have roles. django.auth.group is useful for differentiating between teachers and students re permissions and also your software can then easily discover which group(s) a user is in and adjust accordingly.

Users can have FK relationships not only with schools but between themselves. That would be a many-to-many with "self" to allow users in the student role to be connected to one or more users in the teacher role. 

And so it goes. The secret of success is to model the real world relationships as closely as you can. Roles can then confer different access to various capabilities the same way it happens in real life.

Cheers

Mike



--
(Unsigned mail from my phone)

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages