/Project-Allotment-Portal

This contains a Project Allotment Portal Website developed using a python framework 'Django'

Primary LanguageJavaScript

Project Allotment Portal

Project Description

Automating the process of mentor assignment and groups formation during project allotment.

Salient Features

  • Administrator registration / login.
  • Group Leader / Student Login.
  • Admin can add professors and students.
  • Admin can trigger Group Leader Selection (Group Leaders will be selected based on CPI).
  • Admin can trigger Mentor Allotment Process (Mentor will be alloted based on specified Algorithm).
  • Group Leaders can fill preferance for mentors.
  • Group Leaders can invite students to join their group.
  • Students can accept Invitation to join group.
  • Mentor Allotment in 3 Rounds according to Algorithm (preference given to Group Leaders with higher CPI).
  • E-mail sent when mentor is alloted, invitation is received / accepted.
  • Chat Room Feature.

Screenshots of Website

  • Home Page Image of Homepage

  • Admin Registration Image of Admin Registration

  • Admin Account Image of Admin Account

  • Add professors Image of Add professors

  • Add students Image of Add students

  • Leader Account Image of Leader Account

  • Page after filling of Mentor Preferance by Leader for Round 1 Allotment Image of Page after filling of Mentor Preferance by Leader for Round 1 Allotment

  • Available students to invite (By Group Leader) Image of Available students to invite

  • After Inviting Student Image of After Inviting Student

  • Student Account Image of Student Account

  • Student Account after accepting invitation for joining group. Image of Student Account after accepting invitation for joining group.

  • Entering Chat Room Image of Entering Chat Room

  • Chat Room Image of Chat Room

  • Selected as Group Leader Email Image of Selected as Group Leader Email

  • Mentor Allotment Email Image of Mentor Allotment Email

External Libraries used

    Materialize CSS:
  1. Django Channels
  2. redis
  3. pip install pypiwin32
  4. pip install twisted

How to Use?

  1. For Email notification feature(and thus website to work properly)
    • In settings.py set EMAIL_HOST_USER as your GMAIL email and,
    • set EMAIL_HOST_PASSWORD as your GMAIL password.
  2. Register admin account.
  3. Add professors and students(They may swiftly be added from 'Django Site Administration' for testing purposes).
  4. Set default student password from admin account.
  5. Allot group leaders from admin account. Email notification will be sent to group leaders.
  6. Mentor assignment will be done in 3 rounds. In Every round and before first round, those group leaders who have not been allotted any mentor can fill preference from their account.
  7. Login from 'group leader account'(all leaders). Fill preferences for first round mentor assignment.
  8. Go to admin account and do 'Round 1 assignment'. Email notif will be sent to those leaders to whom mentor is allotted in round 1.
  9. Fill preferences for round 2 in those leader account whom mentors have not been allotted in round 1.
  10. Again go to admin and do 'Round 2 Assignment'.
  11. Repeat above steps for Round 3.
  12. Group Leaders can send invite to available students. Email notification will be sent to students.
  13. Student can accept invite from student account. Email notif will be sent to that leader whose invitation has been accepted.
  14. CHAT ROOM:
    • Enter same 'room name' to chat.
    • Chats are not saved in database. So chatting can be done between those who are online.
    • Tell your name with message every time a message is sent in chat room.
  15. Information about developers in Footer.