











Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Report of Top-Up Subject in Greenwich University 2023
Typology: Assignments
1 / 19
This page cannot be seen from the preview
Don't miss anything!












Table 1 - Project Information Team Name MernsLab Group Repository MernsFGW/Merns (github.com) Group Board URL ML board - Agile board - Jira (atlassian.net) Front End Tech ReactJS Back End Tech NodeJS, Express Database Tech MongoDB Screen Cast URL https://www.youtube.com/watch?v=eq6Jp3obVE Table 2 - Team Information Full Name Role Phan Minh Tri Developer Mai Tran Tuan Anh Scrum Master Vo Minh Quoc Developer Doan Tuan Linh Developer Le Minh Nghia Product Owner Trinh Do Duy Hung Developer Huynh Thi Kim Lam Developer ❖ Phan Minh Tri – As a Back-End developer in the team, I oversee developing and maintaining the system's server side, ensuring that the application performs smoothly and effectively to satisfy the Product Owner's requirements. Besides that, I also help the Front-End team finish their tasks when they need. ❖ Mai Tran Tuan Anh – As a Scrum Master, he oversees communicating with the Product Owner, removing difficulties, guiding, and supporting other team members, and ensuring Agile principles are followed. Moreover, he assists them in project development to ensure collaborative efficiency and the delivery of high-quality software. ❖ Vo Minh Quoc – As a Full-Stack developer, he is responsible for collaborating with other designers and developers to ensure seamless integration, testing, and debugging code to ensure smooth and efficient operation, and designing the system to handle high quantities of traffic and data. ❖ Doan Tuan Linh – He is considered as the team's Front-End leader. He designs the interface for the majority of the system's pages and combines the APIs established by the Back-End into those pages. He also helps other team members with their interface- related tasks. ❖ Le Minh Nghia – The role of the Product Owner is responsible for defining the product vision, managing the product backlog, collaborating with the development team, and making product decisions. He assures that the product meets the high quality and is finished on schedule.
❖ Trinh Do Duy Hung – He is considered the team's Back-End leader. He oversees supporting other team members with system development and completing challenging tasks set by the Product Owner. He is also in charge of debugging throughout project development to ensure that the system runs smoothly and that allocated tasks are completed on schedule. ❖ Huynh Thi Kim Lam – As a Front-End developer, she oversees creating and maintaining the system's user interface, ensuring it appearances and operates properly, interacting with Back-End designers and developers to ensure seamless integration, and testing and debugging the code to ensure the system runs smoothly and effectively.
❖ The finished functions meet the requirements and effectively accomplish the tasks for which they were developed, such as:
❖ A well-designed interface makes it simple for people to utilize. Figure 4 : Home Page ❖ MongoDB and Cloudinary are two powerful tools built to work with contemporary web technologies. Applying them together has several advantages for our project. Cloudinary is utilized in our system to store media files, while MongoDB is used to query and store data about them. This increases efficiency and scalability while also enabling advanced media management.
❖ While the present system meets the basic requirements, it lacks a few more features in all the requirements specified by the Product Owner. For example, the Administrator Interface is currently lacking sections for controlling categories or terms in the system, even though APIs for this have already been built. Figure 5 : Admin Page
❖ Over the duration of using the system, users may experience errors or malfunctions that impact the system's performance or operation. For example, instead of an empty dialog box being presented when a user successfully logs into the system, a success dialog box should be displayed. Figure 6 : Login Page ❖ Current systems may not be compatible with some devices, limiting the system's utility and appeal to consumers. Figure 7 : Responsive of system
❖ Scrum encourages team members to collaborate and communicate with one another, which may assist in increasing efficiency and quality. Figure 11 : Conversation in Slack ❖ Scrum offers frequent status updates and progress reports to keep team members informed of the status of the system. It is intended to adapt if the Product Owner's requirements change to assist the system achieve its objectives. For example, if any issues emerge during the development of a project, they may notify other team members immediately to find an expedient solution. Figure 12 : Sprint Burndown Chart
❖ Scrum is a difficult process that takes much skill to apply well. Unfortunately, since this was the team's first time using the methodology, it was challenging to execute the project. For example, the Scrum Master was provided with instructions to estimate the value of tasks using planning poker, but a lack of knowledge of the process resulted in inaccurate estimations for several tasks. For example, in the picture below, SM evaluates the value of this task at just 8 points, meaning that its priority is lower than other tasks, however after the project is finished, this task is still uncompleted, leading to the system failing to meet an important requirement of the project. Figure 13 : Estimation for each requirement ❖ Scrum needs team members to participate actively as it requires frequent meetings to report project progress. Unfortunately, some team members are unable to collaborate online to resolve problems that occur while the project is in development due to a variety of personal reasons. This slows down project development and results in certain requirements not being completed by the deadline. Figure 14 : Online Member on Slack
➢ As a project developer, I am always fully and on time present at team meetings to understand the project's progress and to raise any challenges discovered throughout the development process so that the whole group may find a solution in a timely manner. I did not accomplish several allocated tasks on time due to challenges encountered during development. As the project runs into problems during development, I provide my ideas to help solve such problems. Due to my lack of coding abilities, I had to spend the first part of the project improving them to fit the project. Yet, I am always willing to interact with other members to help them in accomplishing their tasks and to do tasks for them that they would be unable to handle if it were within my ability. In the end, my productivity is still high, even though a few things are not done on time, but when they are, they operate well.
➢ Tuan Anh is an important member of the development team, working as Scrum Master on this project. While he was usually present for all group meetings, there were instances when he was late, making the meetings longer than intended. He is willing to assist all participants and provide ideas when they encounter difficulties while working on the project. As Scrum Master, his coding abilities are not appreciated, and he simply supports other team members in implementing basic functionalities. Tuan Anh is an excellent team player when he can communicate effectively with other members and help them when required. A positive working attitude and a willingness to help the team, even if the project's development does not meet its expectations, are greatly appreciated. His efficiency is extremely high when he distributes work so that team members may schedule time to finish given tasks on time.
➢ Quoc always shows professionalism in group meetings by being totally present and on time. For the most part, he completes his assigned tasks on time, although for personal reasons, some tasks are not finished on time. His coding abilities are excellent as a full-stack developer in the team, and he can easily perform the assigned tasks. As a result, he often takes the initiative to take on extra responsibilities that are not given to the other members. Quoc shows strong cooperation skills by frequently communicating with two different departments within the organization to help improve the system more successfully. With a positive attitude, he is always willing to assist his team colleagues. Although a few tasks were not done on time, once completed, everything on the system functioned well.
➢ Linh is an essential member of the project's development team. He has shown good attendance and timekeeping abilities by constantly showing up on time for meetings and finishing his task on time. He demonstrates initiative by taking on responsibilities that the
other members are unable to do. His coding abilities are excellent, and he has completed complicated projects easily. Linh is an excellent team player when it comes to maintaining engagement with team members. His good attitude and a willingness to assist others have made him an important member of our team. Linh's productivity has been exceptional, and he has completed all his responsibilities on schedule while keeping a high level of quality.
➢ Nghia is an essential member of this project since she is the project's Product Owner. Because he is not often present at group meetings for personal reasons, the delivery of system requirements among team members is slower. Despite his active participation in additional development work, due to his weak coding abilities, he must consult with other members to complete such tasks. In addition, his pleasant attitude, and a willingness for supporting team members demonstrate his pretty strong collaboration abilities. Nghia's productivity is also claimed to be high when he explains the system's requirements to make it easy for other team members to develop them.
➢ Hung was an important member of the development team since he was the project's Back- End leader. He does not often attend group meetings since he is too busy with his own job, and the fulfillment of given tasks also has a significant impact on him. To compensate for this shortage, he demonstrated initiative by accepting difficult tasks on behalf of other members of his department. His coding abilities are excellent; thus, he can easily finish his tasks. As a result, he is always ready to interact with committee members to support them in fulfilling the assigned responsibilities. When applied to the system, the functions he built are of extremely high quality, indicating that his work productivity is likewise quite high.
➢ Lam does not regularly attend team meetings, and she is unaware of the project's progress, which causes delays in the development process. She demonstrated early initiative by taking on a work that she had not been assigned but was ultimately unable to accomplish on time because of personal reasons. Her coding abilities are still lacking; thus, she ran into several problems throughout the development phase, causing the project to go more slowly than intended. The frenzy of being online makes interacting with other team members challenging. She also completed most of her chores with enthusiasm in the final phases of the project. The fact that the tasks are completed late and that numerous mistakes occur when they are entered into the system indicates that her productivity is not as good as planned.
Figure 17 : Overall Team Contribution
❖ This is an overview of my contribution to this project. Figure 18 : Overview contribution on GitHub 0 2 4 6 8 10 12 Phan Minh Tri Mai Tran Tuan Anh Vo Minh Quoc Doan Tuan Linh Le Minh Nghia Trinh Do Duy Hung Huynh Thi Kim Lam
❖ I was first assigned to build APIs for the category model. This allows the FE team to use these APIs to assist administrators in managing categories in the system. Figure 19 : API for Category ❖ After that, I continued to establish an API for the term model. The admin may use this API to define terms that enable users to upload ideas within a certain timeline and manage ideas uploaded to the system more simply per term. Figure 20 : API for Term
Figure 23 : Manage Password Page
➢ My main responsibility in this project as a developer in the team is coding. Nevertheless, since the team decided to utilize MERN Stack to build the project, I spent most of the early phases studying the fundamentals of MERN because I had never used it before. After learning the necessary knowledge, I will take over and accomplish the tasks set by the Scrum Master, such as establishing certain APIs for the system. After that, I will assist the team in designing the system's interface. Lastly, I had to build the interface to let users maintain their profiles and apply pre-existing APIs to help them engage with the system.
➢ After finishing the project, I learned more about developing systems using the MERN Stack and was able to apply that knowledge to other projects, such as my next final year project. In addition, while working in the same team on a project, I received more relevant experience. First, I am aware that communication and collaboration are critical to the project's success. Following that is task organization and planning, which is essential in monitoring and changing the plan to ensure the project stays on track. Lastly, when other team members make mistakes throughout the project, I may learn from them so that I don't make the same mistake again.