Digital Queue is a mobile application for teachers and students to work together on their courses. Users download the mobile application and create an account on the platform. From the application home page, students choose a course and create queues for the courses. Queues are saved and await teachers to take action on them.
On the mobile application Teachers have additional capabilities which allows them to view their courses queues grouped by course with additional information about student name and action button to mark students in queue as completed or processed.
The platform supports sending notifications to user devices when students create queues, when a teacher performs an action on students in a queue and when a user is assigned a course teacher role.
Teachers and students are typical users with equal privileges on the platform. Except that teachers have additional teacher access capabilities that are assigned to them when set as a teacher for any course. Student user is any user who has enqueued at least once to a course, a user can be a teacher and student at the same time.
Administrator dashboard is a web-based platform that is designed to create and update courses available in the platform as well as manage users roles and permissions by assigning them to different roles such as administrator on the platform or teachers to a course.
In this project, three main software components were developed for DigitalQueue platform, a back-end service which provides RESTful API for mobile client application and an administrator dashboard for platform administrator as well as a mobile application for students and teacher which leverage the functionality provided by the back-end with a comprehensive user-interfaces for the end-users.
The mobile application is developed using Flutter framework with Firebase integration for push-notifications. The back-end service API and admin dashboard is developed using ASP.NET Core framework.
The following requirements were implemented:
1. Creating courses and assigning them to teachers via the Admin dashboard.
2. Creating student queues for teachers on any given courses via the mobile application.
3. Processing and completing student queues via mobile application by course teachers.
Additionally, throughout the process of building this project, new skills were developed for building mobile applications with Flutter and working with Google Firebase platform.