Web-Based Student Task Management System

Task management systems are usually used by the project development teams to track their tasks from beginning to end, delegate subtasks to teammates, and set deadlines to make sure projects get done on time. It helps individuals to work more productively and efficiently. The same concept can be applied to students who have to perform group assignments but are located remotely from each other due to the closure of educational institutions because of the Covid19 pandemic. It is difficult for a student to divide group tasks since they only meet each other virtually through online classes with limited time. The objective of this project is to produce a web-based student task management system that can help UCYP students in managing their assignments and (to better manage the tasks assign) so they will not pass the deadline. The system has task tracking and recommendation features that help the student to manage their tasks easier and can decide the most important or critical task to do first. Student Task Management System implementing the Agile methodology in system development using JavaScript frameworks for both frontend and backend. The front-end is developed using Next.js and TypeScript while the back-end uses Node.js and GraphQL. The back-end itself will connect to the MongoDB database stored in the cloud using the MongoDB Atlas. This system implements authentication using the help of Firebase authentication which makes it easy for users to log in using their Google or Facebook accounts. The Web-based Student Task Management System was able to solve the problem of managing students’ tasks and making them become more productive and efficient in their studies.


Introduction
The success of the students in a course or subject determines by how well students doing their tasks. For this reason, some students make notes so that they always remember their assignments. Maybe physical things like note or calendar can help students to manage their tasks. Yet people forget, and can leave their notes somewhere or forget to take their notes. (Anastasia, 2013). Current pandemic and lockdown situation require student to do online study from home. The school lockdowns that started in the first quarter of 2020 reduced instructional and learning time, which are known to impede student performance, with disparate impacts on different groups of students (Emma & Elaine, 2020). Lockdown has a direct impact on student performance. Many of the students are not able to manage their time to study or manage tasks. Since students spend more time with gadgets and other devices like laptop, tablet or PC nowadays, would it be better if there is a task management website that could help manage their tasks. Task management system is not only targeted at helping students with personal projects or assignments. But it also helps students with their group work. This is because the task management system will be equipped with some features that allows students to plan and monitor their group projects. The task management system is expected to increase their productivity in learning.

Literature Review
A task management system or task management tool is a tool for managing, planning and tracking tasks life cycle. Task management system are usually targeted for individuals, groups of people, or developed for both. To achieve good results and meet all requirements of the task, require planning, preparation and clear progress. This is the main reason why a task management system is needed.
The task management system capable to help and support busy professionals who need to manage their works. This system can be called an assistant that is able to explain their own behaviour as well as accepting direction from users, it makes task management become more than putting events on the calendar. (Bellotti et al., 2004). Bellotti et al. (2004) concluded that a very important task should be listed because it is very risky when delayed. Tasks that listed in notes, emails, or those printed out on paper become less important because they can be forgotten and lost. And tools that are specifically used to create to-dos or tasks lists are a top priority for professionals to use in overlooking important and risky tasks.
Asian Efficiency. (n.d) explained there are several elements that must exist in a task management system. This is what makes the task management system more complex than a list or note written on paper. A task management system must have a way to capture what user need to do for a task. This can be considered as a description of the task. Also, a task management must have a list manager that organizes tasks in the correct order, it can be ordered either by the importance level or by task's due date. Lastly, a task management system also needs a calendar, because we cannot separate task management from time management.

Method
Student Task Management System is developed using agile development with Scrumban methodology. Scrumban methodology is the combination of Scrum method and Kanban method. Scrumban methodology gives the benefits to use sprint and backlog from scrum and WIP limits and cycle time from Kanban.
The reason of using agile development is the advantage of being able to fallback to a certain process if it doesn't reach the desired requirements. On the other hand, Scrumban methodology helps to divide the development process into some sprints and each requirement of the system also will be divided into small parts and this allows developer to work with one part at the time then continue with other parts after the completion of one task. These criteria make the agile development process with Scrumban methodology very suitable for small projects that develop by small group of people or single person. Figure 1 shows the workflow of Scrumban methodology stages.

Backlog
Backlog is a set of tasks that must be done and delivered to production (Evan, 2015). All these tasks will be listed on a Kanban Board. Kanban board is usually divided into 3 sections or columns. "To Do" section contains all unfinished tasks that need to be done soon. "In Progress" is a section that contains a list of tasks that developer is currently working on. "Done" section is a section with set of completed or finished tasks. Creating a backlog is the first stage that must be done in the Scrumban methodology implementation. Developer divides all tasks into small parts and put them on a Kanban board. Followings are the output of this phase: iii. All tasks are in the "To do" section. There is no task in the "In Progress" or "Done" section.

Impact analysis
Before starting to build a system or software, developer or analysis team (if any) should investigate the risk of each task that have been put into the backlog. Analysts need to look for the impact of certain tasks to the future software. If the software has been launched, it is important to analyze whether certain tasks will cause damage or too risky for the existing software. Followings are the output of this phase: i. Tasks on the board are investigated before developing. ii.
There is no progress for Student Task Management system yet.

Build
The build stage is the stage where the developer starts working on the software. The build stage includes design, built/code, test, technical documentation and deployment to a testing environment (Evan, 2015). In this process, there are several best practices and process automation adopted by agile development.
One of the best practices is to implement Test-Driven Development (TDD), where developers create all test cases before starting to work on code. The term used in TDD is "Red, Green, and Refactor" which means making the failed test (red) first, then starting to code a bit so that it passes some tests (green), and after all the test passed, refactor the code to make the code cleaner and readable.
Agile development also makes it easier for developers to implement automation in several processes. Like Continuous Integration (CI) which helps developers not to run tests manually every time developers make changes. CI will automatically run tests on the code after developer makes a pull request to the code repository.
Agile can also implement Continuous Delivery (CD) which makes the deployment process also done automatically after the developer has finished working on the code. The task that has been completed and tested will be marked as either "User Acceptance Testing (UAT)" or "Release" as the next action to the task. Followings are the output of this phase: i. Some of the tasks in "To Do" move to the "In Progress" section.
ii. Produce interface and architecture design for the current task.
iii. Some of the requirements are being implemented in Student Task Management System.

iv.
Student Task Management System being tested in localhost.

User Acceptance Testing
This is an optional stage that involves the actual user before developer deploy the system. The developer team must follow up the progress and resolve issues or defects found by users during testing (Evan, 2015). Followings are the output of this phase: i. The Student Task Management System can already be used in several functions.
ii. The requirements that have been implemented to the system are not yet flawless.
iii. System deployed into temporary environment.

Release
When the task has been approved by the user or team leader, it will be submitted to production. Based on the type and scale of the task, if the task has a large impact on the existing system, additional documentation is required. Once the task is deployed, the CI process will be performed in production where certain tests will be run to make sure that the results are consistent with the previous system environments. Followings are the output of this phase: i. Functionality that has been implemented on the system is working properly and there are no errors. ii.
The system is deployed to the actual environment.
iii. During deployment the system need to pass the certain tests.

Documentation
The next stage is to produce documentation. Team members need to produce or update any relevant documentation after making changes to the system. The documentation usually consists of the requirements EAST-J i. Documentation for deployed tasks has been produced.
ii. Requirements that have been made for the task are achieved.
3.1.7 Done Evan (2015) proposed that a task can be marked as "Done" when the resulting task complies with requirements and meets development standards. The task must also pass all tests such as functional testing and system testing. Quality assurance should also be reviewed for the task. Finally, the task should be deployed without error.
Followings are the output of this phase: i. Student Task Management System making progress.
ii. Some tasks move from "In Progress" section to "Done" section.

Results and Discussion
This project was implemented for University College of Yayasan Pahang students. Figure 2 shows the sign in page of the system. Students can sign in with Google or Facebook account. Student can start using the system after signed into the system with choosing one of the two sign-in options available. Figure 3 shows the homepage of the system. In this page, student can choose some system features that they will use. Figure 4 shows the task section page where student can monitor their personal tasks. Figure 5 shows the note section page where student can create and manage their personal notes. Figure 6 shows the calendar page where student can create and manage events. Figure 7 shows the task page for the room. Figure 8 shows the chat room page for user to interact with room members.

Conclusion
Student task management system is a web application that aims to provide facilities for students so that they can adapt to the current situation that requires remote work. This application is considered as a productivity tool that is expected to help student in learning and daily life. This application is also the implementation of one of the key themes of the industrial revolution 4.0, technical assistance, which aims to helps humans in decision-making and problem-solving. Based on the testing result, the system met the objectives of the project. The architecture of the project was identified, objectives and scope were defined, literature related to the project was studied, methodology for analysis and development of the system was specified and discussed and, implementation and testing of the system has also been conducted.