Assessment 3 - Our IT Project

Course Name Introduction to Information Technology
Course Code COSC2083
Students' Name and ID

Hoang Vo Thuy Duong (s3927106)

Le Hoang (s3980499)

Le Tran Minh Trung (s3927071)

Nguyen Nghia Cuong (s3998180)

Nguyen Thi Minh Trang (s3892190)

Lecturer Long MN

I. Team Profile

Team Name

Our official team name would be Fivetastic, as previously agreed together and mentioned in Assignment 2.

Personal Information

My name is Trang Nguyen (s3892190). I was born and raised in Can Tho, but now I reside in HCMC. Before joining RMIT, I spent 2 years studying at a public university with a focus on International Relations, and currently, I’m a Logistics major at RMIT. In my free time, I enjoy reading, especially books about history, health, international affairs, and business. I’m also into exercising, traveling, and hanging out with friends. When it comes to IT, I am interested in learning about new hot topics in technology so that I can keep up with the latest developments and trends in the area, and hopefully, I can become more knowledgeable in the field that I don't expose myself to quite often on a regular basis. Also, I have been starting to get familiar with IT tools, such as Excel, PowerBI, or MySQL. Since these tools have been widely utilized in my field of work, being able to use them effectively will allow me to make informed decisions and improve my productivity and performance in both my personal and professional lives. Regarding my IT experience, I used to have experience working with ERP- a supply chain software platform serving as a solution for businesses to streamline their processes. I learned how to use RFID scanners to collect data, understand different types of logistics data, analyze the data, and extract insights from it. I have worked with designing software, such as Canva, to help design posters and presentation slides/videos for my group and individual assignments, which I believe is a useful way to help me improve my editing and designing skills.

My name is Hoang Vo Thuy Duong, but I also go by Andrea. My student ID is s3927106. I was born and raised in Ho Chi Minh City (HCMC). I received most of my education at the Asian International School, Thai Van Lung campus in District 1. During the last two years of high school, I studied in the US, but then I returned to Vietnam to be closer to my family and enrolled at RMIT University Vietnam. Reading is one of my favorite hobbies, I particularly like the fantasy and science fiction genres. I can communicate in four foreign languages (English, Spanish, Portuguese, Mandarin) with various degrees of fluency and have a strong desire to learn more. Currently, I'm focusing on learning German. Since I was a child, I've been familiar with the IT field because of my father, who taught himself and found a job in IT after graduating, despite having a degree in International Payments. While studying in the US, I joined the Robotics team in my town and developed a bond with a teammate who taught me the basics of coding. A special person in my life encouraged me to learn Python, which has become my favorite programming language. Since the beginning of this year, I have completed several Python projects through Jetbrains Academy. I have a general interest in IT, but I'm particularly drawn to Cybersecurity because of my special person. Through the Intro to IT course, I have gained knowledge in HTML & CSS as well as using Github.

My name is Cuong Nguyen (s3998180). I was born in Hanoi, Vietnam, and spent my entire childhood there. After completing a year of biotechnology studies at Hanoi University of Science, I decided to pursue an international education in Canada. I stayed there for three years and obtained a diploma in hospitality management. I have always been enthusiastic about exploring various areas to discover my true talents and passions, and it turns out that most of my interests lie in the field of art. Photography and photo/video editing have become my primary interests at the moment. Since the fifth grade, I have been introduced to computers, which sparked my interest in information technology. In summary, I have a deep love for learning and solving any computer-related problems that come my way. I am also highly fascinated by new developments in electronic technologies. I regularly keep up with the latest news and advancements in computer hardware, such as display panels, graphics cards, and processors. I embarked on learning HTML, CSS, and JavaScript about a year ago and quickly discovered my passion for it. This Introduction to IT course equipped me with knowledge of Git and GitHub as well as the Linux command line.

​​My name is Trung Le, and my student ID is s3927071. I studied at Le Hong Phong High School for the Gifted as a competitive programmer before enrolling in RMIT with a major of Engineering Software. During my free time, I love cooking, especially desert and street food; besides, I also enjoy making handmade gifts. During Covid-19 pandemic, I tried new stuff such as web developing and using Godot engine to make a game with friends. My current interests in IT are cloud computing, computer’s component, and innovative software that can make people’s lives easier. I have improved my Java skills and created little JavaFX projects as part of my preparation for my future profession. In addition, I'm working on MySQL and Oracle databases to comprehend how they're implemented. In addition, my background in problem-solving helps me to decipher the application's logic and come up with solutions that satisfy the logic's criteria.

My name is Hoàng Le, and my student ID is S3980499. I was born and raised in Ho Chi Minh City, Vietnam. However, my education journey was interrupted for nearly ten years due to medical treatment in the US. Eventually, I returned to Vietnam and successfully completed high school. In my free time, I enjoy engaging in self-study, particularly in the fields of mathematics, robotics, languages, and music. Additionally, I find pleasure in playing online games and watching movies. Within the realm of IT, I am particularly interested in artificial intelligence, image recognition, voice synthesizers, and natural language processing. While my experience in IT is limited, I do have some basic coding skills and a modest level of familiarity with AI, natural language processing, voice synthesizers, and image recognition.

II. Tools

  • The link to our website: http://andreaxwa.github.io/Intro-to-IT-Project
  • The link to our GitHub repository: https://github.com/andreaxwa/Intro-to-IT-Project
  • Comments: The audit trail (commit history) on the Git repository provides a detailed record of the changes made to the project, including who made the changes, when they were made, and the purpose of each modification. By examining the commit history, we can track the progression of the project and identify the contributions made by individual team members. The commit messages associated with each change serve as a form of documentation. This helps team members understand the purpose of the changes made by others. Moreover, the audit trail establishes accountability and transparency. It allows the team leader to review the progress and contributions of the team, ensuring that everyone is fulfilling their responsibilities and working towards the project's goals.

III. Project Description

A. Overview

Topic

Our project will focus on developing a “hybrid” carbon footprint tracking app that is called RMITGreen and specifically designed for RMIT students. This app is expected to serve as an accessible, convenient, and engaging tool that can help RMIT students leave a positive impact on the community they’re studying and living in.

By offering a comprehensive set of functionalities, we expect our app can help RMIT students increase their level of environmental awareness and interest and empower them to make a difference in the fight against rising emissions in Vietnam. First of all, by including calculator and tracker systems into our app, we hope to assist RMIT students in measuring and monitoring their emissions, thereby becoming more aware of their environmental impacts. We will also provide users with relevant news and resources that can help them gain a better understanding of eco practices and stay updated on current environmental problems. In addition, we will offer features that enable users to set goals, engage in interesting challenges, and communicate their progress with their peers, so as to make them feel motivated and inspired to make behavioral changes. Lastly, we will continuously monitor and make improvements to our app to make it a practical and reliable tool that will be integrated seamlessly into every RMIT student’s daily life to help them make informed decisions when it comes to lifestyle choices.

In the end, we hope this project will serve as a demonstration of our abilities to leverage technologies to drive positive changes and contribute significantly to the development of a more sustainable future for RMIT.


Motivation

Several factors motivated us to develop this project. First of all, it’s reported that emissions in Vietnam have increased by a staggering 515% and that per person rose by 362% over the past two decades, which highlights the urgent need for individuals to take meaningful steps to reduce their environmental impacts across all aspects of their lives (countryeconomy n.d.; statista n.d.). However, in fact, the majority of Vietnamese young adults, including students in higher education, who are considered to have the potential to drive change, still lack environmental knowledge and show little interest in sustainable living (UNDP 2022). This is because the majority of them lack access to convenient and interactive tools that can help improve their environmental literacy, manage their footprints, and empower them to adopt sustainable lifestyle choices. By developing this app, we hope to provide RMIT students with a more accessible tool that can assist them in doing so. In addition, while universities, as organizations engaged in education, generate a substantial amount of GHG emissions and should play a pioneering role in taking initiatives to reduce their carbon output, most of them have still made limited efforts to do so (Valls-Val and Bovea 2022; Thang 2020). Therefore, as RMIT students, we realized the need to join hands with our university to help it become a sustainability leader within the community it’s operating in. Given that RMIT has already done a fantastic job of offering various education programs to increase students’ environmental conscience, we feel compelled to create a similar alternative, but in a more accessible, convenient, and interesting format.

The idea behind this project follows the IT trend of utilizing technology to address environmental issues; in our case, we’re developing an application that assists in raising environmental consciousness within the RMIT community (appssemble n.d.). Our app will be developed as a progressive web app (PWA)- a technology that can provide a native app–like user experience across different mobile devices (Dqindia 2022). By doing so, we can ensure RMIT students, the vast majority of whom use iOS- or Android-powered smartphones or laptops, can easily access and interact with our app. Furthermore, with the incorporation of game and social elements (e.g., badges, leaderboards, challenges) and data visualization components (e.g., graphs, charts) into our app, we can create a more attractive and user-engaged platform that can not only motivate students to make behavioral changes, but can also better understand their emissions data (Deloitte n.d.). This strategy can not only increase users’ stickiness to our app but also align with the app gamification and visualizing trend nowadays (Wetzler 2021).

If we were able to work on this project, we would be able to showcase to potential employers a combination of skills that are critical for IT-related jobs. To be more specific, we can demonstrate our strong technical skills in web development by being proficient in front-end development (HTML, CSS, JavaScript, Java) and back-end development (server-side programming languages, database management). Furthermore, when we successfully finish the project, we can demonstrate our project management abilities (e.g., planning, task allocation, time management, collaboration, problem-solving, adaptability, and communication) to our future employers (Martins 2023). Most importantly, by coming up with an IT solution to address an existing environmental problem, we can show them that not only are we well-aware of current issues happening around us, but we can also figure out an innovative way to tackle these issues.


Landscape

In Vietnam, the government’s goal of reaching “carbon emission neutrality” by the year 2050 has prompted organizations and citizens alike to take proactive steps to cut their carbon output (Reuters 2021). These potential audiences are the driving force behind the proliferation of different kinds of environmental apps, which can be considered our app’s direct and indirect competitors. Direct competitors might include popular eco-friendly apps on the market, such as Greenly, Footprint, WWF’s My Footprint, or MyClimate, all of which, despite offering a wider range of features, still have some functions similar to ours and cater to a broader audience (WWF n.d.; Greenly n.d.; Footprint n.d.; MyClimate n.d.). Additionally, similar apps from nationwide universities, such as FPT or Vietnam National University, can become our app’s potential direct competitors if their products’ scope extends and they are able to reach more customers (VNU 2023; Wang 2015). With respect to indirect competitors, other technologies with built-in health tracking features (e.g., steps, heartbeat, sugar level) and online websites or platforms dedicated to providing sustainability-focused resources (e.g., EcoWatch, Earth911, or Sustainably Chic) might be considered indirect ones. This is because, while they don’t provide the exact functions as our app, they do provide alternatives that can indirectly assist users in getting a better grasp of environmental issues and managing their footprints (Bolt n.d.).

We believe our app’s target customer base, PWA technology, gamification and social elements, and data visualization components will make it stand out from the competition. Unlike other popular apps that are aimed at the general public, our app is catered to the needs of RMIT students, enabling them to calculate and track their emissions across the most relevant categories for an average student. Also, for the convenience of our students, we develop our app as a PWA to make it more accessible on both iOS and Android- powered devices. Lastly, by understanding our students’ need for an interactive, captivating, and convenient tool that can help them manage and communicate their footprints, we have collaborative and data visualization components (e.g., challenges, shared progress, rewards, bars, and charts) incorporated into our app to increase our users’ experience and keep them motivated and inspired to strive toward their sustainability goal.


B. Detailed Description

Aims

We aim to develop a user-friendly, interactive, and reliable web app that allows RMIT students to comprehend, quantify, and communicate their environmental impacts, leading to increased environmental awareness and behavioral modifications. To accomplish the foregoing, we set up a couple of smaller and more manageable goals to help us identify ‘should-be-prioritized’ tasks, track our progress, and allow for a gradual approach to success.

First, we will focus on improving the precision and reliability of the calculation function, and this goal is the one that we’ll give the most priority to. Since estimating users’ carbon footprints is our app’s core functionality, if we fail to provide users with accurate emissions estimates, they won’t be able to truly understand their environmental impacts. This will compromise our app's primary goal of helping students measure their footprints and might potentially result in reduced credibility and a loss of users’ trust and engagement. Therefore, we believe more solutions should be taken in the future to improve our app’s processes of data collection and algorithm design to increase the dependability of our app (e.g., making changes in the content and presentation of inquiries while ensuring the friendliness of the app, or developing advanced formulas or calculation methods before integrating them into the API server).

Second, after providing accurate estimations, the offering of personalized recommendations and useful insights should be taken into account. This aspect is important as it acts as a guideline for more accurate, appropriate, and effective actions users can take to reduce their footprints based on their input data or recorded progress. By concentrating on developing this feature, we can not only ensure the trustworthiness of our app but also help our students become more environmentally conscious and educated.

Third, we’ll pay attention to the integration of gamification and social elements into our app. This goal can be considered a secondary one in comparison with the previous two since it will only become meaningful when the foundation functions are perfected. By adding these elements, users can share or compare their progress with their friends, engage in friendly competitions or challenges, and receive rewards when completing their goals. This will create a friendly-competitive yet supportive environment in which users will feel motivated to continue using our app to make behavioral changes, thereby increasing their engagement.

Last but not least, we aim to focus on developing our app as a PWA to enhance its accessibility characteristics. By doing so, all RMIT students, irrespective of the operating systems their devices are running on or any locations they’re in, can access our app as both a web app and a mobile app. Although Tandel and Jamadar (2018) stated that this approach can come at the cost of offline access (data won’t be updated and synchronized until users are online again, and first-time users must have the internet to install before being able to use it offline), and a confusing user experience, we realize that its benefits (e.g., progressive, responsive, engageable, and connectivity independent) have far outweighed its drawbacks. We’ll consider implementing techniques to take advantage of this approach and mitigate its shortcomings.


Plans and Progress

Our project started when a team member came up with the idea for an application to monitor carbon footprints. Currently, we are still in the planning stage, and the most completed thing so far is the prototype of the application designed on Figma. Of course, since it's just a demo, it can't be actually used yet, but that prototype really helped a lot in guiding and speeding up the product completion process. After setting the goals that this application aims at, we discussed and agreed on the main plans for this project.

  • Front-end Development

The first is the startup screen, we designed it exactly as the original plan, including the logo as well as our team's name. Next is some basic information about the carbon footprint, what it is and how it affects our lives. In the demo version, we have only added our motivation and solution, so this part will need to be redesigned, adding more graphics and useful information.

The login screen is 100% complete, however, we need to redesign the main menu so that when the user chooses to use it as a guest, some features of the application will be hidden, for example, the “ Friends Activity” section. If using without an account, users will also be notified that their data will not be synchronized if used on different devices.

The main menu, where information about the progress is shown, has been designed almost completely. The notification section has also been completed, where the "For You" tab sends you notifications about your own achievements, milestones, or challenges, and the "Articles" tab will regularly update articles related to the environment in general and carbon footprint in particular for reference.

The most important part is the "Add Activities" section, where you enter your daily activities to calculate the carbon footprint result, which is basically complete. However, we still need to redesign and add more icons and stickers to make it more appealing, thereby increasing user engagement. The results section of “Add Activities” is also nearing completion. It can show the total carbon footprint based on your input, your goals, and your latest activities. There’s also the “Friends Activity” section, where you can see your friends' locations, each of their results, and the results of the whole team. We have designed a "Result Details" section to give some more in-depth analysis of the user's carbon footprint, but it is still not really detailed, so we will need to redesign this section, so it makes as much sense as possible.

The Statistics section summarizes all the results over a period of time, it can be on a weekly, monthly, or even yearly basis. This section shows how many percent each type of activity accounts for in your total carbon footprint. Besides, your parameters will also be compared with the average in Vietnam and the whole world. All will be shown through graphs and charts to make the interface more intuitive. Some general tips will be attached so users can refer to them and improve their carbon footprint.

The Badges section includes badges that you can earn if you complete the given goals, but we still need a more detailed design. For example, when the user clicks on each badge, a pop-up will appear on the screen and show essential information, achievement status, and date achieved.

Finally, the profile section is indispensable, where the user's information is stored and can be customized. Most of the necessary parts have been added, such as displaying the user's name and email, changing information, or a "Help & Support" section where users can send messages to our team if they have any questions or comments. However, in the future, we plan to add more sections including Privacy and Terms of Use, extra Settings such as choosing metric or imperial, toggling between dark/light mode, etc.

Currently, we have added almost all navigation buttons to make it easy for users to navigate to other parts or sections. However, we still need to design a pop-up tutorial so that users can get used to the application faster.

Reference prototype: https://bit.ly/RMITGreen-Figma

  • Back-end Development

While the interface of the app is the main thing the user is exposed to, the calculations behind it are also very important and make up the heart of this app. Currently, since we are in the first steps of development, we chose to use the already available API from Swagger, however, we will have to pay for their license. In this early stage, we will accept to pay for it, but in the later stages, after accumulating enough experience, we will plan to develop our own calculation formulas. In addition, in the Meals section, we plan to add more options for different specific foods to choose from, and including some information about each type of food would also be helpful.

The G-Points (Green Points) scoring system has appeared in the prototype in the Results or Statistics sections, but it is currently just a concept, not fully planned yet. Over the coming weeks, we'll be developing an actual G-Points system that rewards users based on their results each time they add activities. For example, activities that leave more carbon footprints won't earn as many points as greener acts.

Up to now, we have completed the conceptualization of the Achievements, Milestones, and Challenges system (a few examples are shown in the prototype). In the next few weeks, we will continuously brainstorm more ideas and customize this system as needed to motivate users and increase their engagement.

Currently, the tips we have designed and brought to users are just general tips. In the near future, we will want to develop more advanced personalized tips based on the results gathered from each type of user input. For example, if you use a gas-powered car every day to travel long distances, specific tips and advice would show up to encourage you to switch to public transport to reduce your carbon footprint.

  • Cloud service management

After learning about the available web hosting forms, we decided to use a cloud server. Currently, in Vietnam, there are many companies selling this service, so our first plan will be to learn the market, analyze the strengths, weaknesses, and costs of each seller, and then come up with a decision. We will then learn how that cloud server works and how to link our application to it and manage the user's data on it.

  • Testing

This is a very important job that directly affects the user experience, so we will create a thorough testing plan. First, we need to understand the main requirements and functions of each part of this application. We will then decide on the main types of tests to be performed, such as usability testing, performance testing, functional testing, and security testing. For more specific examples, we will perform user input validation, test reports generated from carbon footprint data, test the responsiveness and performance of the application when a large number of users access the application simultaneously, and determine the user-friendliness of the application by performing all tasks like a real user, evaluating navigations, instructions, etc. We will also check feedback from users regularly to further improve.

  • Marketing

Besides developing a great app, marketing is also essential to increasing awareness, and attracting more new users. First, we need to determine who the target users are. At the moment, we only plan to reach out to RMIT students, but when the application is further completed, we plan to spread it to the public. Now, to be successfully used by a lot of RMIT students, we'll need to target a variety of marketing channels. The first one is social media. We will set up a page on Facebook, Instagram, and Tiktok and promote the app and share information about the carbon footprint on those platforms. Users who register for an account will have access to a private group chat. In addition, we will also be contacting RMIT to send promotional emails to all students, instructors, and staff, as well as asking RMIT to allow us to host an event about our product to reach out to a larger community. Doing a SWOT analysis also helps us understand our competitors and find ways to make our app unique. It is equally important to invest in creating advertising content. For example, articles and posts to share should be useful, informative, and appealing. At later stages, we will plan to contact environmental organizations, and influencers to collaborate and advertise this application to their audiences. Monitoring website traffic also determines user engagement, and based on that; we can customize the plan for continuous improvement.


Roles

In the early stages of the project, we came up with some main roles.

Firstly, it is crucial to have a project manager on the website development team. The reason is because they are responsible for defining scope, needs, risks, work breakdown structure (WBS), Gantt chart, and budget. They also ensure the effectiveness of communication to keep everybody of the team aware of the goal and schedule.

Secondly, the team needs a front-end developer for user interface design, which is the visual aspect of the website. This person will account for making the interface appealing, simple to use, accessible by adopting design principles, usability heuristics and web technologies.

Besides user interface, we have to make sure that server-side logic works correctly which can be done by a back-end developer. Moreover, they will be in charge of managing data storage, security of the product by using authentication, encryption, and other security methods.

Furthermore, data analyst is a must for the application development team. They can analyze user data to study user’s carbon footprint trends and patterns combining with user feedback, this information can then be used to improve the calculator's design and features. Furthermore, data analysts can also develop reports for users so that they can set goals or track progress.

Lastly, the team also involves a scrum master which is a key role in scrum (Scrum.org n.d.), a software development methodology. This person conducts scrum events and makes sure that the team follows these processes. Moreover, The scrum master aids the team in understanding and implementing scrum’s principles and practices.

The team members freely choose the role based on their experience and interest. Therefore, Trang takes the project manager position, while front-end development belongs to Cuong, and back-end developer is Trung. Duong finds herself suitable for the role of data analyst with Hoang being the scrum master.

It is worth mentioning that people can switch roles during the development process. For example, Trung and Cuong can exchange their roles to learn other skills or find a more suitable position.


Scope and Limits

RMITGreen
Feature Description Outcome
Startup Screen Display app logo and our team name Achieved
Brochure Infographics or short clips containing basic information about carbon footprint Unachieved
Authentication
  • Log in or sign up with email and password
  • Log in or sign up with Google or Facebook
  • Option if forgot password
  • Option to use the app without an account
Achieved
  • When used as a guest, hide features like “Friends Activity” and stop synchronize data
Unachieved
Notification
  • Notification icon (bell) is always at the top right

“For You” tab:

  • Notifies achievements, milestones and challenges
  • Display icons, date, title and content of the notification

“Articles” tab:

  • Shows articles about the environment
  • Display article title, author, date and a brief summary
Achieved
Dashboard
  • Display user name at the top

Level card:

  • Display current level and G-Points acquired

This Week card:

  • Display this week’s emission and G-points acquired
  • Display distance traveled with each type of transportation
Achieved

This Week card:

  • Display other result such as meals and electricity usage
Unachieved
Add activities
  • Enter daily activities to calculate result
  • Display logo/title and description on all steps

Step 1: Choose date

  • Display calendar and today’s date

Step 2: Meals

  • Select serving size
  • Select meal type
  • Select accompanying drinks

Step 3: Commuting Habits

  • Input total distance traveled
  • Choose types of transportation

Step 4: Energy

  • Input estimated daily electric bill (based on consumption history)
  • Input estimated daily water bill (based on consumption history)

Step 5: Shopping

  • Select clothing material and number of items bought
  • Select footwear material and number of pairs bought

“Save Log” and “Reset” buttons:

  • Save all inputs or reset to zero in step 3, 4, 5

Navigation:

  • “Next” button is displayed in step 1
  • Swipe forward or backward to move to the next/previous step in step 2, 3, 4, 5
  • “Result” button is displayed in final step
  • Navigation bar is displayed on top and can be used to move between step 2, 3, 4, 5
Achieved
  • Contains intuitive graphics such as icons and stickers

Step 2: Meals

  • More food options (beef, pork, egg, etc)
  • Pop-up that shows information of all types of food
Unachieved
Activities Result

Your Result:

  • Display carbon footprint result and points acquired
  • Show goals and Team score

Latest Activities:

  • Display activities along with icons, points acquired and carbon emission

Result in details:

  • Display user’s streak and plan

Friends Activity:

  • Display total points of the whole team
  • Display friends’ location on map
  • List of your friends in your team

Recalculate button:

  • Navigate user to the first step of adding activities
Achieved

Friends Activity:

  • Search for new friends
  • List friends from Facebook who also uses this app
Unachieved
Statistics

Emission charts:

  • Display user’s total emission recorded
  • Bar chart of total emission by week (can be changed to month or year)

Activities:

  • Display activities along with icons, and the percentage of carbon footprint those activities account for

Comparison:

  • Bar chart to compare your carbon footprint with the average per person in Vietnam and in the whole world

Tips:

  • Offer general tips on how you can lower your carbon footprint
Achieved

Tips:

  • Offer personalized tips to lower carbon footprint based on each of user’s activity (take a bus, eat plant-based food, etc)
Unachieved
Badges

Display badges that user can earn from completing challenges or tasks

Achieved

Display information, achievement status, and date achieved of each badge

Unachieved
Profile

Main information card:

  • Contains user’s profile picture, name and email

Main menu:

  • My account: Update information to user account (first name, last name, phone number, gender, date of birth)
  • Face ID / Touch ID: Toggle on to enable signing in with user’s face or fingerprint
  • Two-Factor Authentication: Add an extra layer to to secure user’s safety
  • Settings: More basic and advanced app settings
  • Sign out: Log out of user’s account

“More” menu:

  • Help and Support: User can reach out to our team to ask questions or if they have any concerns
    • User is required to fill in first name, last name, email, phone number, select subject and write message before sending
    • User can join our newsletter by filling in their email and click “Subscribe” button
    • Our team’s information card contains our phone number, email, address and links to other social media platforms
  • About Us:
    • Display general information about us including our motivation, solution and differentiation
Achieved

Main menu:

  • Settings:
    • Toggle between metric and imperial
    • Toggle between dark and light mode
    • Connect to Facebook to add friends who also use RMITGreen

"More” menu:

  • Privacy and Terms of Use
Unachieved
Navigation menu
  • Navigation bar always appears at the bottom. It includes 5 main sections: Home/Dashboard, Badges, Add Activities, Statistics, Profile
  • A “Back” button alway appears on the top left corner to easily navigate user to the previous section
Achieved
Help menu

Pop-up tutorial or guide in each section so users can get familiar with the application quicker

Unachieved
Data gathering

The application would compile user’s information on travel, energy use, diet, and other elements that affect their carbon footprint.

Achieved

Automatically track user activities, calculate and return completely accurate results

Unachieved
Carbon footprint calculation

Using public API and the information gathered, the app would determine the user's carbon footprint.

Achieved

Our app uses an API that covers and can calculate all activity categories that emit carbon

Unachieved
Carbon offsetting

Purchase carbon credits or fund certified projects in carbon reduction

Unachieved
G-Points system

Points are calculated from the result and given to users every time they add activities

Unachieved

Tools and Technologies

  • Figma: Starter plan
  • IDE: Visual Studio Code version 1.78
  • Java Development Kit: JDK 20
  • JavaScript version: ECMAScript 2020
  • HTML version: HTML5
  • CSS version: CSS3
  • GitHub
  • React Native Framework version: 0.71
  • Spring Framework version: 5.3.9
  • MySQL Community Server 8.0.33
  • MySQL Workbench version 8.0.33
  • AWS cloud services
  • WebView technology, convert to mobile apps using AppMySite (AppMySite 2023)

All of our team members have experience in using GitHub as a collaborative environment, Figma for UI/UX design, and VS Code for programming. We are also familiar with basic HTML, however Cuong has more experience in CSS and JavaScript. Cuong and Trung are already proficient in MySQL, and we are still learning more about frameworks.


Testing

For every website and application, it is necessary to perform testing. Thus, we apply various testing methodologies such as UI/UX testing, unit testing, integration testing, etc. based on the development phases and processes (JanBask Training 2022). With each testing phase, we will set an expected outcome first to make sure that the function passes that requirement. For example, with register, the function must store the user's data correctly and be able validate those inputs in this case could be their email address. On the other hand, the login function will get the input from the user and compare it with the database; then, if the input is correct, it will let the user in; otherwise, it has to return an error and inform the user.

After the designing phase is done, the testing phase should be conducted right after it instead of waiting until the very end, because it can help the developer find the bug and fix it more quickly. Fixing these problems later can also increase the expenditure, as it might take more resources and time.

According to Nielsen (Nielsen 2000), when the project comprises user testing, the best results would come from no more than 5 test subjects. The reason is that after the fifth user, it will be a waste of time to gain the same findings but nothing new. Besides, these tests should be ideally conducted in a usability lab (User Testing n.d.), since the researchers can watch users’ facial expressions and how they complete the task, as well as their difficulty while doing it. Moreover, this lab can isolate test subjects from environmental distractions. However, it is not necessary to set up our own usability lab as it is costly; hence, we could borrow the school’s meeting rooms and invite classmates to take the test.


Timeframe

Figure 1: Gantt chart for week 1 and week 2


Figure 2: Gantt chart from week 3 to week 5


Figure 3: Gantt chart from week 6 to week 11


Figure 4: Gantt chart from week 12 to week 15


Figure 5: Gantt chart for week 15 and week 16


As you can see in these above figures (Fig.1 - Fig.5), we have made a detailed 16 weeks plan for developing our RMITGreen website version. The plan consists of all the phase that we already discussed in Plan and Progress, which are:

  • Project Kickoff and Planning
  • UI/UX Design
  • Presentation
  • Writing Report
  • Front-End Development
  • Back-End Development
  • System Integration and Testing
  • Cloud Migration
  • Marketing
  • System Release

All the phases use Scrum framework as we found it is one of the most effective ways to get work done within a short period of time but the value of the product is still incremental in a cooperative way (Scrum.org n.d.).

The template for the Gantt chart are acknowledged from Vertex42.com (Vertex42.com 2021). The full figure of the above Gantt chart for better visualization can be found HERE.


Risks

There are many potential risks coming from hardware, software, resources, etc. during the development process.

To design the UI/UX, the team chose Figma because of its convenience and collaborativeness. Despite that, there are some downsides that make it hard to use. Firstly, Figma consists of various advanced features and tools that can overload new users. Secondly, being a cloud-based platform, Figma may arise many problems, especially when dealing with big files or slow internet connections from the user. Because of this, the modifications made to the design can cause latency or delays.

When we develop the website, it is necessary to use JavaScript which can be challenging to learn because of its distinctive features such as dynamic typing and asynchronous programming. These components can be confusing for learners and easily lead to errors if not carefully managed.

Besides JavaScript, HTML and CSS could be hard to use as well because they are rendered differently based on the browser; hence, the website needs to be tested carefully to ensure consistency. Moreover, as web designs advance, these languages become more complex. Therefore, the front-end developer has to learn more advanced ideas so that they can design a modern and attractive interface.

For building the back-end system, we use Java and the Spring Framework. Similar to JavaScript, the Spring Framework also offers various tools and features that can take lots of time to learn and master. The developers also need to make careful optimizations so that the application can perform at its highest level.

There are also potential risks when developers use an IDE (Visual Studio Code), for example, the IDE uses lots of system resources, which makes it slower and more laggy on dated and low-end PCs. Furthermore, IDEs are often packed with features and functionality that are not always useful. Thus, new users may have difficulty navigating and using these functions.

In addition, members of the team come from many different career paths, and not all of them are familiar with coding and using GitHub, which was a collaborative site before. For that reason, its complex interface and terminology, such as “repository”, “commit”, “pull request”, and "merge,” may confuse them a lot. Nevertheless, GitHub’s collaboration workflow about creating branches, opening pull requests, etc. could also puzzle beginners.

Due to the lack of staff, each role/department currently only has one member, which can cause the task to take much longer to finish, or the product to not be good/optimized enough. It is always better to work as a team.

Since we do not invent our own calculator but instead use third-party APIs, the calculator may be unavailable or may not work accurately if the APIs are subject to downtime or errors.

We will migrate our web and application to the cloud later; hence, the system may not work properly when integrating the system with cloud services if the configuration is done wrongly.

Lastly, there are also visible risks associated with selecting cloud services. Cloud service providers (SCP) such as AWS offer more than 200 services (Amazon n.d.); therefore, if the users have no knowledge of these services, they may not be able to make the right decision. After choosing the services, we must properly configure them to ensure that the application runs smoothly with high performance while still staying within the budget; otherwise, the system cannot handle traffic spikes and work effectively.


Group Processes and communications

When it comes to communication, we mostly keep in touch via Messenger which is a messaging app developed by Facebook. We have meetings every week, and they usually take place on Messenger. We also spend time after tutorial class to have face-to-face discussion to talk about emergency tasks or specific tasks related to Hoang since it will be better and more effective than chatting with Hoang since it will take time for the AI to read through the dialogue before saying it out loud for him. Overall, our team members have great responses to communication, although we had difficulty chatting with Hoang for the first time. The reason is that Hoang navigates strangers’ inboxes to the spam folder; hence, Duong has to borrow his phone to search for the invitation to join the group. Besides, Duong has already been successful in chatting with him, so when other teammates want to send him a message, we have to ask Duong to tell him to view the message in the spam folder or have a face-to-face meeting. To form a strong bond in a team's relationship, we sometimes hang out after class to have lunch together at the canteen, and we also share about our daily lives, past stories to get to know each other better. When we allocate the task to members, we set internal deadlines first, then let all members freely choose the task they want; therefore, no conflict has occurred. Team members freely ask for help or clarification, which we utilize a lot since everybody here has experience in different fields and technologies.

IV. Skills and Jobs

Based on the role of each member described above, we'd like to recruit four positions, namely Cloud Engineer, Quality Assurance (QA) Engineer, Tester, and Marketing Specialist, to assist us in taking our project to the next phase in the following nine months. Below are the job descriptions for these positions:

Cloud Engineer

  • Responsibilities
  • - Designing, deploying, and operating the cloud infrastructure for hosting our app

    - Working closely with other positions to assist them in handling related issues to ensure the app’s scalability, reliability, and security on the cloud environment

    - Documenting on technical processes and offering guidance for cloud-related strategies

    (Resources for employers n.d.)

  • Skills
  • - Degree in Computer Science or equivalent

    - Hands-on cloud architecture experience (AWS, Azure, GCP)

    - Solid understanding of cloud security concepts

    - Proficiency in cloud automation and tools such as Terraform, Puppet, Ansible

    - Experience with container orchestration technologies (Docker, Kubernetes)

    - Excellent programming skills (Python, Ruby, Java, JavaScript)

    - Excellent analytical and troubleshooting abilities. Strong communication, collaboration, and leadership skills

    (Indeed 2023)


Quality Assurance Engineer

  • Responsibilities
  • - Working closely with other positions to develop and implement different testing standards and processes to identify and handle any issues during our app’s development process

    - Documenting and monitoring quality issues in all processes and reporting results to other members

    - Conducting risk assessment and make strategic suggestions to improve or maintain high-quality standards in all stages of our app’s development process

  • Skills
  • - Degree in Engineering or equivalents

    - Strong understanding of software QA methodologies, tools, and processes; SQL and scripting

    - Hands-on experience in writing test plans, conducting white and black box testing, and using automated testing tools

    - Experience in Agile/Scrum development process

    - Strong analytical, problem-solving, communication skills

    (Resources for employers n.d.)


Tester

  • Responsibilities
  • - Working closely with other positions to develop test plans

    - Executing and analyzing test cases. Evaluating the product code and reporting bugs or errors to the development team

    - Documenting test phases and defects and assisting in identifying and troubleshooting quality issues

  • Skills
  • - Degree in Engineering or equivalents

    - Good knowledge of test management software and SQL. Experience in QA methodologies

    - Strong analytical, problem-solving, organization, and communication skills. Detail-oriented

    (Resources for employers n.d.)


Marketing Specialist

  • Responsibilities
  • - Conduct market research to help us identify target audience trends, preferences, and find new potential customer base our app can target

    - Collaborate with a wide range of people to execute effective and innovative marketing strategies to promote our app. Create compelling content on social media platforms to drive user’s engagement

    - Develop KPIs to evaluate our campaign’s performance and make suggestions for improvements or strategic plans for further development

  • Skills
  • - Experience in marketing or a similar field

    - Thorough understanding of marketing concepts and strategies

    - Experience in using data analytics tools. Proficiency in computer skills, marketing software/applications (Adobe, GoogleAdwords)

    - Exceptional collaboration and communication (both verbal and written in Vietnamese and English) skills

    - Strong leadership and innovative thinking abilities

    (Indeed n.d.)

V. Group Reflection

Based on each member’s reflection about the effectiveness of our group work (see Appendix 1), we believe that, as a whole, our group has performed very well in navigating this group project through different phases. Over the past 12 weeks, we’ve learned valuable lessons about our group’s strengths and weaknesses and had chances to expose ourselves to eye-opening experiences.

The most notable characteristic of our group is probably the supportive environment that we established. Understanding that members of our group come from different backgrounds and that each of them might have different problems, we’ve tried our best to offer assistance to him or her whenever possible. For example, if anyone struggles with their assignments or just simply has a life problem and wants to share it, we’ll always be ready (both online and offline) to support each other. In fact, we usually spend time engaging in physical or online meetings (see Appendix 2) or online discussions to discuss our assignments, random topics that we’re interested in, or helping our friends better understand a new IT concept. Since there’s an ELS member within our group, we always ensure to assign tasks that are well-suited to him and offer support whenever possible to help him contribute his best work. Another strength of our group is that we always respect and listen to everyone’s ideas and opinions. When someone in the group has opposing opinions, they all try to explain clearly and patiently in a constructive and respectful way so that the other side can understand the problem and then come to a unified conclusion. However, our group still has areas for improvement. All members agreed that we have encountered certain issues with time management and collaboration. Due to some members’ busy schedules, our group experienced deadline rushes several times. The surprising thing was that we all tried to adapt and make the necessary adjustments to share responsibilities with others so that we could be able to overcome this challenge. Regarding the collaboration problem, we sometimes are not able to understand our special member's studying methods, thereby not being able to create opportunities for him to make full contributions. However, having a chance to work with him is our pleasure, as we are actually inspired a lot by his will and resilience.

Overall, through this project, all of us had a chance to reflect on our progress and gain useful insights about successful teamwork. Our group project’s results are driven by effective communication, diversity, understanding, and adaptability, given the fact that we still deal with time management and collaboration issues. We believe the experiences we have gained during the 12-week period spent on this project will be beneficial for our future group efforts.

Appendices

Appendix 1. Reflections

Trung: The last twelve weeks have been such a meaningful experience, as I’ve had the chance to work with fantastic people. We have worked very well, not just as a team but also as a family. Team members always tried their best to deliver their work on time with the highest quality, and we also maintained communication to lend a helping hand when anyone had difficulty. It was great that everyone was open to talking, as it gave us the chance to get to know each other better; hence, the team could work better together. Because of that, it was rare to see conflict within the team. However, the time management of the team is not very good, as we were often in a rush for a couple of days before the deadline due to the heavy workload coming from many distinct courses of members. Then, everybody amazed me at how friendly and sympathetic they were, because we all had the chance to share our expressions, difficulties, which could also be outside of the lesson, and then gain advice from other members. Lastly, being a part of the team has taught me to be more open-minded and companionable, and I really appreciate being a member of this family.

Trang: Overall, I think our group has been doing a fantastic job so far. Everyone has tried their best to make valuable contributions to the group’s project and has gradually become more comfortable sharing their thoughts and feelings with each other. Since the first time we formed our group, open communication has been maintained regularly. We actually organized many online and offline discussions or meetings to either create bonding opportunities for everyone or discuss our assignments (e.g., setting deadlines, allocating tasks, asking questions, talking about any topics that we’re interested in). However, sometimes we encounter problems with time management and maintaining regular contact due to the hectic schedules of other members. As our group has one ELS member, working with him is not easy, as Hoang is not always ready to open up; however, this experience turned out to be really eye-opening for me. I actually learned a lot from my friend’s consistency and determination. Despite having health problems, Hoang made an effort to overcome everything and completed all the tasks that our group assigned to him. He’s also a truly great listener. In short, I think everyone in our group has actually successfully created a supportive, motivated environment in which I always feel fulfilled and inspired to contribute more to the group’s outcome.

Hoang: As a special member of our group, I know I haven’t always been the easiest person to work with. However, I want to thank everyone for their patience and understanding. Despite some inconvenience I’ve caused, they've tried their best to stick with me and support me as much as possible, making me feel acknowledged and respected. We actually had many interesting discussions after class, but I wish we would have had more opportunities to hang out and get to know each other better. I feel grateful for the group’s willingness to let me join in and their consistent support to keep me updated on the assignment’s details, the class’s announcements, or the meetings' schedule. I hope everyone will pass this course with flying colors and succeed in their future careers. I hope we will have opportunities to work together in other courses as well. Thank you so much!

Cuong: Being a member of the “Fivetastic” group has been a wonderful and rewarding experience. I’ve had the chance to work with a diverse and talented group whose members come from different majors, such as logistics, HR, or software engineering. Each person brings their own unique set of skills and knowledge to contribute to the group work, and everyone is really professional and dedicated to every task they’re assigned. The group’s friendliness and accommodations have helped me easily settle into the new environment, as this is my first semester at RMIT after spending 3 years studying in Canada. There were times when we were overwhelmed with the workload or had conflicting ideas while doing assignments. However, by maintaining open communication in a respectful and constructive manner and a sense of shared responsibility, we were able to overcome these challenges. I’m surprised at our group’s results, as they exceeded my expectations, and each of us has made progress after each assignment. I’ve learned so much from the group’s methods of choosing teammates, allocating tasks, setting deadlines, and handling unwanted conflicts. I’m sure I’m going to apply these tips to my group assignments in the future.

Duong: Overall, I believe the teamwork was really great. It seems that everyone in our group has a unique factor that contributes to our collective success. Hoang, a special member of our group, has performed very well in making an effort to contribute to the group work despite his difficulties in writing and seeing. I think he’s a great person and an inspiration for our group, and I actually learned a lot from him. Cuong and Trung, who are the only two members of our group pursuing IT-related majors, are very dedicated to the group work, and they seem to know what they are going to do to advance in their future careers. So does Trang- a logistics major who, together with me when we first met each other in this course, asked for other members to join our group. Although our group had a certain level of difficulty when working with Hoang, I think we did a great job setting smaller goals (e.g. deadlines for each part, detailed task allocations, timely updates) and successfully completing them, allowing us to manage to complete the whole assignment more efficiently. I hope our group will have more bonding opportunities and can still keep in touch after this course.


Appendix 2. Online meetings


References

Amazon (n.d.) Amazon Web Services, About Amazon website, accessed 29 May 2023. https://www.aboutamazon.com/what-we-do/amazon-web-services

AppMySite (2023) How to build a webview app for Android and iOS on AppMySite?, AppMySite website, accessed 26 May 2023. www.appmysite.com/blog/how-to-build-a-webview-app-on-appmysite/

appsemble (n.d.) Mobile startup trends on environmental awareness apps, appsemble website, accessed 25 May 2023. https://appssemble.com/blog/environmental-awarness-apps.html

countryeconomy.com (n.d.) Viet Nam reduced CO2 emissions, countryeconomy.com website, accessed 25 May 2023. https://countryeconomy.com/energy-and-environment/co2-emissions/vietnam

Bolt C (n.d.) 19 Sustainability Blogs You Should Definitely Follow in 2023, GreenCitizen website, accessed 26 May 2023. https://greencitizen.com/blog/sustainable-bloggers/

Deloitte (n.d.) The Five Benefits of Data Visualization, Deloitte website, accessed 25 May 2023. https://www2.deloitte.com/nl/nl/pages/tax/articles/bps-the-five-benefits-of-data-visualization.html

Dqindia (2022) What makes progressive web apps a trend to follow in 2022, Dqindia website, accessed 25 May 2023. https://www.dqindia.com/what-makes-progressive-web-apps-a-trend-to-follow-in-2022/

Greenly (n.d.) The go-to carbon accounting platform for your business, Greenly website, accessed 26 May 2023. https://greenly.earth/en-us

Indeed (2023) Cloud Engineer Roles And Responsibilities: A Complete Guide, Indeed website, accessed 29 May 2023. https://in.indeed.com/career-advice/finding-a-job/cloud-engineer-roles-and-responsibilities

Indeed (n.d.) Marketing Specialist Job Description: Top Duties and Qualifications, Indeed website, accessed 29 May 2023. https://www.indeed.com/recruitment/job-description/marketing-specialist

JanBask Training (2022) Introduction to Software Testing Methodologies: What are Testing Methodologies?, JanBask Training website, accessed 27 May 2023. https://www.janbasktraining.com/blog/what-is-software-testing-methodologies/

KaitlynBra (2020) What are Carbon Offsets and How Do They Work?, Sustainable Travel International website, accessed 26 May 2023. https://sustainabletravel.org/how-carbon-offsets-work/

Martins J (2023) 25 compétences en gestion de projet essentielles pour réussir, asana website, accessed 25 May 2023. https://asana.com/fr/resources/project-management-skills

myclimate (n.d.) Shape our future myclimate is your partner for effective climate protection – both locally and globally, myclimate website, accessed 26 May 2023. https://www.myclimate.org/?etcc_med=SEA&etcc_par=Google&etcc_cmp=%5Bmyclimate%5D+ROW_EN_ohne+CH_4&etcc_grp=59870930760&etcc_bky=myclimate&etcc_mty=e&etcc_plc=&etcc_ctv=363117764536&etcc_bde=c&etcc_var=CjwKCAjwscGjBhAXEiwAswQqNID6LujF9cNJA2acmsmZWFTLWtjNUrC2ajQrYpVezlfbLJOwfeFLnxoCZK4QAvD_BwE&gclid=CjwKCAjwscGjBhAXEiwAswQqNID6LujF9cNJA2acmsmZWFTLWtjNUrC2ajQrYpVezlfbLJOwfeFLnxoCZK4QAvD_BwE

Nielsen J (2000) Why You Only Need to Test with 5 Users, Nielsen Norman Group website, accessed 27 May 2023. https://www.nngroup.com/articles/why-you-only-need-to-test-with-5-users/

Petty M and Miglani S (eds) (2021) Vietnam targeting carbon emission neutrality by 2050, minister says, Reuters website, accessed 26 May 2023. https://www.reuters.com/business/environment/vietnam-targeting-carbon-emission-neutrality-by-2050-minister-says-2021-11-01/

Resources for employers (n.d.) Cloud Engineer job description, Resources for employers website, accessed 29 May 2023. https://resources.workable.com/cloud-engineer-job-description

Resources for employers (n.d.) QA Engineer job description, Resources for employers website, accessed 29 May 2023. https://resources.workable.com/qa-engineer-job-description

statista (n.d.) Territorial carbon dioxide (CO2) emissions in Southeast Asia from 1960 to 2021, by country (in million metric tons of CO2), statista website, accessed 25 May 2023. https://www.statista.com/statistics/1288198/asean-co2-emissions-by-country/

Tandel S and Jamadar A (2018) Impact of Progressive Web Apps on Web App Development, ResearchGate website, accessed 27 may 2023. https://www.researchgate.net/publication/330834334_Impact_of_Progressive_Web_Apps_on_Web_App_Development

Scrum.org (n.d.) What is Scrum?, Scrum.org website, accessed 25 May 2023. https://www.scrum.org/resources/what-scrum-module

Thang (2020) TRANSFORMING TOWARD GREEN UNIVERSITIES-FINANCIAL CONSTRAINTS AND POLICY IMPLICATIONS, VNU website, accessed 25 May 2023. https://repository.vnu.edu.vn/bitstream/VNU_123/133435/1/KY_20211017233601.pdf

UNDP(United Nations Development Programme) (2022) SPECIAL REPORT YOUTH FOR CLIMATE ACTION IN VIET NAM 2022, UNDP website, accessed 25 May 2023. https://www.undp.org/sites/g/files/zskgke326/files/2022-11/UNDP2022_Report%20new_111122.pdf

UserTesting (n.d.) Usability lab, UserTesting website, accessed 27 May 2023. https://www.usertesting.com/glossary/u/usability-lab

Valls-Val K and Bovea M (2022) ‘Carbon footprint assessment tool for universities: CO2UNV’, Sustainable Production and Consumption, 29(2022):709-804, doi:10.1016/j.spc.2021.11.020.

Vertex42.com (2021) Simple Gantt Chart, Vertex42.com website, accessed 28 May 2023. https://www.vertex42.com/ExcelTemplates/simple-gantt-chart.html?utm_source=ms&utm_medium=file&utm_campaign=office&utm_content=url

VNU (Vietnam National University) (2023) VNU VJU and UNDP Vietnam: Cooperation for sustainable growth, VNU website, accessed 26 May 2023. https://www.vnu.edu.vn/ttsk/?C2422/N32882/VNU-VJU-and-UNDP-Vietnam:-Cooperation-for-sustainable-growth-.htm

Wang L (2015) Vo Trong Nghia Architects unveil plans for tree-topped FPT University campus in Ho Chi Minh City, inhabitat website, accessed 26 May 2023. https://inhabitat.com/vo-trong-nghia-architects-reveal-designs-for-tree-topped-fpt-university-campus-in-ho-chi-minh-city/

Wetzler T (2021) How to develop your app gamification strategy: Everything you need to know, Adjust website, accessed 25 May 2023. https://www.adjust.com/blog/how-to-develop-your-app-gamification-strategy/

WWF (World Wide Fund) (n.d.) WHAT CHANGE WILL YOU MAKE?, WWF website, accessed 26 May 2023. https://www.wwf.org.uk/myfootprint