Timetable Division | AUGS Division
Timetable Division and AUGS Divsion are sub-divisions of BITS Pilani Hyderabad Campus. They together oversee operations pertaining to Academic Instructor Feedback, Content Management System, Student Coursework, Biometric Attendance and Teaching Assistantship and formalizing Student-Professor projects.
This project is live at : https://td.bits-hyderabad.ac.in/ , https://augsd.bits-hyderabad.ac.in/
Technology Stack
- NodeJS
- MongoDB
Setup Instructions
- Install NodeJS & MongoDB
- Install redis server
- Run MongoDB Instance
- Navigate to the project directory
- Create a copy of
config.template.js
asconfig.js
- Add the required details in
config.js
- Run
npm install
- Run
npm start
- Navigate to
http://localhost:3000
Grunt Details
- Use
grunt
in terminal to check for linter / prettier errors - Use
grunt fix
in terminal for fixing auto-fixable linter / prettier errors
Project Structure
The project follows a portal based structure. Timetable Division provides it's services in the form of web portals which can be enabled/disabled from time to time. The current state of a portal is stored in a MongoDB collection (portals
).
Portal Types
- Admin Portals
routes/admin/portals
&views/admin/portals
- Student Portals
routes/dashboard/portals
&views/dashboard/portals
User Types
SuperUsers
- Can access any portal in the admin area regardless of the fact that it is enabled or disabled at that time.Admins
- Can only access the portals as specified by theportals
array in the corresponding document inadmins
collection.Students
- Can access the activated portals of student area.
Access Table
Superuser | Admin | Student | |
---|---|---|---|
Activated Admin Portal | Yes | Yes (But determined by portals array) |
No |
Deactivated Admin Portal | Yes | No | No |
Activated Student Portal | No | No | Yes |
Deactivated Student Portal | No | No | No |
Config and Views
While the general configuration is same for both of the sites, an option siteMode
has been added in config file which takes two values TD
and AUGSD
. This option enables the selection of the folder AUGSD
or TD
in the views
directory from which the views will be rendered.
Portals
Portals are different for TD and AUGSD.
TIMETABLE DIVISION
Admin Portals
control
- For managing site administration (Enabling/Disabling) other portals, Add holidays for room booking, Switching usersroom-booking-approval
- For SWD / TD to approve room booking requestsroom-booking-esd
- For ESD to get the list of approved room bookingsroom-booking-faculty
- For professors / staff member to initiate a room booking request
Student Portals
inductions
- For inducting new students to the TD team :Proom-booking-student
- For students to initiate a room booking request
AUGS DIVISION
Admin Portals
control
- For managing site administration (Enabling/Disabling) other portals, Add holidays for room booking, Switching usersfeedbacks-admin
- For viewing all the feedbacks receivedfeedbacks-prof
- Shows feedback of currently logged in admin.project-allotment-prof-create
- For professors to create projectsproject-applications
- For professors to Approve / Reject project applicationsproject-list
- To Export the final CSV after the project allotment process is complete
Student Portals
feedbacks-24x7
- For provding 24x7 feedback for coursesfeedbacks-midsem
- For providing Mid-Semester feedback for coursesproject-allotment-student
- For applying to projects offered by various departments
Under Development
- Online teacher Assistantship Application - (
ta-app-ic
,ta-application
)
Utils
Several housekeeping utilities can be found in utils
directory
adminFacultyGenerator.py
generates the Faculty JSON data from CSV foradmins
schema.adminDeptGenerator.py
generates the Department JSON data from CSV foradmins
schema.courseGenerator.py
generates the JSON data from CSV forcourses
schema.roomGenerator.py
generates the JSON data from CSV forrooms
schema.studenteGenerator.py
generates the JSON data from CSV forstudents
schema.mailer.js
provides a method to send emails using the tokens provided inconfig.js
.rebuildDatabase
drops the existing database and creates a new one with dummy values.checkDatabase
checks the database for errors in student - course - instructor mappingproj-pdf-generator
directory has utilities to create and send PDFs to instructors after the project allotment process is complete
Faculty Coordinators
- Prof. PK Sahoo (Faculty in-charge, Timetable Division)
- Prof. Vasan Arunachalam (Associate Dean, AUGS Division)
- Dr. Runa Kumari (In-charge Software Development, Timetable Division)