Iris - Faculty Dashboard (Link)
Project done as a part of Software Engineering course 15CSE313
View Full Report
In higher education institutions, people managing academic programs may require to monitor and check the progress of data regarding program offerings, course offerings, class attendance, etc.. Implementing a faculty dashboard could improve efficiency in data retrieval and optimize data storage. The dashboard implementation utilized database structure, faculty data was organized and stored in an AWS database and managed with SQL queries to retrieve data for the dashboard. The prototype data dashboard shows different types of functionalities and tables, even though there were some moderate limitations on the overall design due to time and implementation complexities. Future work could focus on streamlining the data preparation and automating the dashboard visualizations for even better efficiency in the faculty dashboard management system.
With the large number of courses offered every year and over 10+ academic programs, managing course details, class and faculty attendance, schedules of faculties and respective classes are quite labor-intensive. As in traditional universities, faculty members work with the department or individual to monitor and generate various student/faculty reports. Additionally, at universities, faculty serve as program leads and are responsible for managing the scheduling, staffing, and assessment of the monthly courses in their academic program. Assisting and mentoring students in a cohort is also a responsibility of the program lead. Thus a lot of work has to be integrated to achieve an efficient and optimized method to store and retrieve the information, we came up with an idea to develop a faculty dashboard which will offer specific functionalities to faculties to monitor their required tasks quickly. The proposed functionalities are limited to very basic requirements.
-
Developing
- Frontend - Nuxt.JS, Vue.JS
- Backend - NodeJS, ExpressJS
- Database - AWS RDS, AWS S3, Firestore
- Server Host - AWS EC2
- SCM - Git
-
Testing
- Unit testing - Mocha, Chai, Istanbul, NYC
- Static Code analysis - SonarQube
- UI testing - SeleniumJS
-
Continuous Integration and Development
- Webapp hosting - Netlify
- Tool - Jenkins
- Scalable Websites
Usage of AWS EC2 instances, we have hosted our backend codes, which allows scalability and takes cares of performance issues - Normalized and Scalable Database
Usage of AWS RDS instances, we have hosted using MySQL database with normalized schemas - Modularized code
All the backend and frontend codes are modularized for right reuse of codes avoiding duplications - API
We have created separated APIs for each functionality, which ensures good code quality with effective usage of function calls - Coverage Static code analysis
Developing the codes only on static code analysis with overall coverage results above 75%, to ensure less bugs, code smells and less vulnerabilities - Daily Online Stand up meetings
Conducted Developer standup meetings through Zoom calls - Jenkins successful build
Email notifications after successfully build
# install dependencies
$ npm install
# serve with hot reload at localhost:3000
$ npm run dev
# build for production and launch server
$ npm run build
$ npm run start
# generate static project
$ npm run generate
For detailed explanation on how things work, check out Nuxt.js docs.
Saiharsha B - Frontend Design and Routing
Srishilesh P S - Backend functionality, Unit testing, Static code analysis, CI/CD
Sanjay Tharagesh R S - Backend functionality, Unit testing, Static code analysis, Database
Gayathri E - UI testing
Prathyusha I - UI testing
Neeraj Kumar Reddy P - Unit testing