Coder Social home page Coder Social logo

augsd-td's Introduction

Timetable Division | AUGS Division Build Status

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

  1. NodeJS
  2. MongoDB

Setup Instructions

  1. Install NodeJS & MongoDB
  2. Install redis server
  3. Run MongoDB Instance
  4. Navigate to the project directory
  5. Create a copy of config.template.js as config.js
  6. Add the required details in config.js
  7. Run npm install -g yarn
  8. Run yarn install
  9. Run npm start
  10. 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

  1. Admin Portals routes/admin/portals & views/admin/portals
  2. Student Portals routes/dashboard/portals & views/dashboard/portals

User Types

  1. SuperUsers - Can access any portal in the admin area regardless of the fact that it is enabled or disabled at that time.
  2. Admins - Can only access the portals as specified by the portals array in the corresponding document in admins collection.
  3. 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
  1. control - For managing site administration (Enabling/Disabling) other portals, Add holidays for room booking, Switching users
  2. room-booking-approval - For SWD / TD to approve room booking requests
  3. room-booking-esd - For ESD to get the list of approved room bookings
  4. room-booking-faculty - For professors / staff member to initiate a room booking request
Student Portals
  1. inductions - For inducting new students to the TD team :P
  2. room-booking-student - For students to initiate a room booking request

AUGS DIVISION

Admin Portals
  1. control - For managing site administration (Enabling/Disabling) other portals, Add holidays for room booking, Switching users
  2. feedbacks-admin - For viewing all the feedbacks received
  3. feedbacks-prof - Shows feedback of currently logged in admin.
  4. project-allotment-prof-create - For professors to create projects
  5. project-applications - For professors to Approve / Reject project applications
  6. project-list - To Export the final CSV after the project allotment process is complete
Student Portals
  1. feedbacks-24x7 - For provding 24x7 feedback for courses
  2. feedbacks-midsem - For providing Mid-Semester feedback for courses
  3. project-allotment-student - For applying to projects offered by various departments
Under Development
  1. Online teacher Assistantship Application - (ta-app-ic, ta-application)

Utils

Several housekeeping utilities can be found in utils directory

  1. adminFacultyGenerator.py generates the Faculty JSON data from CSV for admins schema.
  2. adminDeptGenerator.py generates the Department JSON data from CSV for admins schema.
  3. courseGenerator.py generates the JSON data from CSV for courses schema.
  4. roomGenerator.py generates the JSON data from CSV for rooms schema.
  5. studenteGenerator.py generates the JSON data from CSV for students schema.
  6. mailer.js provides a method to send emails using the tokens provided in config.js.
  7. rebuildDatabase drops the existing database and creates a new one with dummy values.
  8. checkDatabase checks the database for errors in student - course - instructor mapping
  9. proj-pdf-generator directory has utilities to create and send PDFs to instructors after the project allotment process is complete

Faculty Coordinators

  1. Prof. PK Sahoo (Faculty in-charge, Timetable Division)
  2. Prof. Vasan Arunachalam (Associate Dean, AUGS Division)
  3. Dr. Runa Kumari (In-charge Software Development, Timetable Division)

Contributors

  1. Sohail Rajdev
  2. Nischay Ram Mamidi
  3. Kailash Bhalaki
  4. Nishant Aggarwal

augsd-td's People

Contributors

ashish-avs avatar harshamadineni avatar kailash0311 avatar namanarora00 avatar naresh-golla-design avatar nischay-pro avatar nish-sapio avatar parse-hardik avatar pavas23 avatar prathonit avatar sohailrajdev97 avatar vineeth-vk11 avatar yashs911 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.