-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
401 lines (368 loc) · 44.3 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Group 9 - Assignment 3 - Project Report</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<h1>1. Team Profile</h1>
<h2>1.1 Team Name: Tommorow Tech Team</h2>
<h2>Personal Information</h2>
<ul>
<li>Do Viet Ninh</li>
<p>My name is Do Viet Ninh (ID: s3871573), and I am a Human Resource Management major student at RMIT University. The background of HRM-based education, I believe, has played a major role in forming my human-centred mindset and motivating me to discover more about HRM. Being interested in both Human Resource and Technology, my current career orientation is to become a Talent Acquisition (Recruiter) working in technology companies. I. Additionally, I have a huge passion for video games, and I am looking forward to discovering more about the work of game design, to consider it as a possible future career for myself.</p>
<li>Hoang Hua Hiep</li>
<p>Hoang Hua Hiep is my given name. S3979137 is my student ID number. You may reach me at [email protected]. I am Vietnamese. On February 13, 2000, I was born in Da Lat, Lam Dong. I had been studying in the United States for four years. I had developed certain interests by the time I arrived in the United States. I enjoy camping. The crackling sound of burning wood, the flavour of burnt grilled corn, the unpleasant feeling of sleeping on the ground with no mattress, and the insects are what I appreciate about camping. I also like to go fishing, play frisbee, and play billiards. I recently joined the RMIT Vietnam Ultimate Frisbee Club. Currently, I am an Information technology major student at RMIT. I have chosen data science as my minor. I am interested in analysing data, so I would like to be a data scientist in the future for the big tech companies. </p>
<li>Nguyen Tien Dung</li>
<p>My name is Nguyen Tien Dung (nickname David) and my SID is s3999561. I’m a Vietnamese national born in Czech on 29th August in 2001. I lived in the Czech Republic before migrating back to Vietnam at the age of 12. I’m pursuing a Bachelor of IT minoring in Cloud Technologies. For my hobbies, I enjoy coding (currently learning Java and Spring Boot on top of learning), reading and playing chess. Regarding my IT interests, I’m interested in cloud and web development, I frequently follow the latest news in cloud technology and always keep a lookout on developing news on the Java and Javascript ecosystem with the intention to become a full stack developer one day. Regarding my experience, I have experience coding in Java, Python and C# but only proficient in Java and Python. I have made several personal projects using these technologies and have displayed them under my github profile. I frequently strive to develop more projects and learn new frameworks related to back-end web technology.</p>
<li>Noaman Muhammad Zain Ul Abideen</li>
<p>I, Muhammad Zain ul Abideen (Student ID: s4021266), I am an International student from Pakistan, studying Bachelor’s in Information Technology at RMIT university. My email is [email protected]. Doing a Bachelor's in IT is giving me the foundation I need for professional life. Artificial Intelligence is an area which I am most interested in, as it has the potential to revolutionise many industries, from healthcare to finance to transportation. As someone who is interested in the ways in which technology can improve society, I find this aspect of AI particularly intriguing.</p>
</ul>
<h1>2. Tools</h1>
<ul>
<li>Link to the website: <a href="https://blueboy90780.github.io/Group-9-Assignment-3-Website/" target = "_blank">Website Link</a></li>
<li>Link to the Github Repository: <a href="https://github.com/blueboy90780/Group-9-Assignment-3-Website" target = "_blank">Github Repository Link</a></li>
<li>Link to the audit trail: <a href="https://github.com/blueboy90780/Group-9-Assignment-3-Website/commits/master" target = "_blank">Audit Trail Link</a></li>
</ul>
<h1>3. Project Description</h1>
<h2>3.1 Overview</h2>
<h3>3.2 Topic</h3>
<p>Our group aims to develop an app called "Piggy Bank" that will revolutionise budget management and finances for those who struggle to do it themselves. The main purpose of this app is to shape a better financial lifestyle for the users. "Piggy Bank" will offer an entire system by merging critical financial software elements with AI-powered functionality. The application will deliver individualised advice to users by evaluating prior transaction records, assisting them in identifying areas where they may decrease costs and save money. In creating this mobile financial application, our team hopes that it can help users change to a more financially healthy lifestyle, as well as assisting them in reaching their desired financial goals.</p>
<h3>3.3 Motivation</h3>
<p>The "Piggy Bank" idea was inspired by the rising need to solve the financial issues that young people, particularly university students and recent graduates are confronting. Because of the prevalence of overspending and poor budget management among this group, a solution that can give guidance and help in establishing a financially healthy lifestyle is required.
<br><br>
This project is important and interesting because it tackles a real-world problem that affects a significant portion of the population. It adheres to current IT trends by utilising sophisticated technologies such as artificial intelligence and mobile applications to deliver a user-friendly and accessible solution. With the advent of digital banking, mobile payments, and subscription-based services, there is an increased need for applications that assist users in navigating their financial environment and gaining control over their spending patterns. "Piggy Bank" addresses these tendencies by combining transaction tracking, subscription management, and AI-powered recommendations into a single platform.
<br><br>
Working on this project would display a number of desirable characteristics to a potential employer. For starters, it demonstrates a good awareness of user needs as well as the capacity to provide realistic solutions to those demands. It displays expertise in designing mobile applications and incorporating AI functions, both of which are in great demand in today's work market. Working on "Piggy Bank" also demonstrates a dedication to social impact and financial education, since it strives to enhance the financial well-being of young people. It exhibits the ability to work on complicated projects, communicate with interdisciplinary teams, and provide a user-centric solution that is current with IT trends.
</p>
<h3>3.4 Landscape</h3>
<p> Upon research, we shortlisted a few apps that offer the same ideas as our project, which are: Mint, YNAB (You Need a Budget), Personal Capital, and PocketGuard, and upon further research, Mint was considered our biggest competitor. It offers comprehensive budgeting tools, expense tracking, bill reminders, and goal-setting features.
<br><br>
Piggy Bank would join a congested market populated by established firms. It distinguishes itself, however, with the incorporation of AI-powered services. While some existing programs may provide basic recommendations based on spending habits, Piggy Bank wants to use AI to provide more tailored and actionable advice. It may evaluate past transaction data, identify areas of expenditure or possible savings, and provide consumers with tailored recommendations not only based on their expenditure pattern but also on other economic situations (Such as economic depression). This AI-powered function distinguishes Piggy Bank from competitors, allowing it to provide a more personalised and smarter money management experience.
<br><br>
Another factor from which we can benefit is that almost every financial application comes with a one-time purchase or subscription-based service to access more features. However, we want to make Piggy Bank a free app so that it can be accessed by everyone. We will introduce ads on our app by partnering with different advertisers. Revenue will be generated based on the number of ad impressions (views) or clicks generated by users. The more popular the app and the higher the user engagement, the more potential revenue it can generate from ads.
</p>
<h1>Detailed Description</h1>
<h2>3.5.1 Aims</h2>
<p>The ultimate aim of this project is to help the community form a healthy financial habit and lifestyle. In order to reach the desired outcome, there are small goals that our team wants to achieve, each linked to one different function of the app.</p>
<p>First of all, we want to help users gain the habit of recording their earnings and expenditures. This is the first crucial step in managing a healthy personal budget. Hence, the most important feature of “Piggy Bank” is to access, synchronise and keep track of your spendings on bank accounts, cash and other digital wallets as this is the basic function that generates and stores data for our application in order to make other features work.</p>
<p>The second goal is to assist users in balancing their personal expenses and budget, using AI to provide insightful and meaningful information, analysing their budget and categorising their budget in three different categories: needs, wants and savings, as well as suggestions. As mentioned above, this is the Unique Selling Point of our software, therefore it should be prioritised to develop right after all basic functions of the app have been finished crafting.</p>
<h2>3.5.2 Plans and Progress</h2>
<p>Considering that developing a finance application is a big scale project, and the fact that the software will include numerous features as well as need regular updates in terms of security, laws, regulations and the economy, our team decided to follow the Iterative Software Development Process Model (Pham 2019). Hence, this model consists of 6 steps, namely Planning, Analysis, Design, Implementation, Testing and Integration, Maintenance, and this process will periodically repeat in updating or improving the software.
<br>
<div style="text-align: center;">
<img src="https://www.itpecstudio.com/img/software-development-cycle.png" alt="Software development model">
</div>
<p style="text-align:center;">Figure 1: The Iterative Software Development Process Model (adapted from Pham 2019).</p>
<p>For the first step of planning, the idea for our group project is to develop an AI-integrated mobile finance application for users. Before our group decided on that idea, we had a number of group meetings, during which we spent most of the time trying to brainstorm as many ideas as possible for our group project. There are a number of ideas raised, targeting different fields, scopes and sizes, ranging from developing a renting bicycle application for citizens within Ho Chi Minh City, to building a food ordering system for exclusively students within RMIT University. All of the proposed ideas were all opted out by our team either due to the idea having been implemented in real world scenarios, or the ideas did not provide significant impact for the community.</p>
<p>The brainstorming phase only stopped when we came up with the idea of a finance application for mobile devices, which will combine the use of AI to provide useful financial advice for users. This idea sparked from one team member’s observation on the spending routine of people within our age group.</p>
<p>Having discussed and acknowledged its potential, our team decided to select this idea and begin coming up with different features and functions that can be implemented in the project. Hence, our team brainstormed and selected the following main features for the project.</p>
<p>First and foremost, “Piggy Bank” must have basic functions of a financial application, which is accessing, keeping track and record users’ transaction history and money. In order to do that, the application must be able to access relevant information in users’ bank accounts, cards, cash and digital wallets. It will then keep track and synchronise any transactions made in all the accessed locations. In terms of cash-only transactions, users can either manually type the amount of expense and earnings, or scan the receipt of their purchases to record into the app. Analysis and reports will be based on the expenditure of their users and generated by the application and sent directly to the users, providing useful insights and advice about their current financial situation.</p>
<p>Second, the software will be equipped with a subscription tracking system. It can be challenging for every one of us nowadays to manage and control the amount of money we spend on digital softwares and services, since most of them now switched to subscription-based rather than one-time purchase. “Piggy Bank” application will be there to keep track of those subscriptions and notify users of the next payment, as well as about subscribed services that have not been used for a while.</p>
<p>Last but not least, “Piggy Bank” will give advice to users in terms of managing their financial budgets, based on the data generated from past earnings and transactions, by integrating AI-powered functions. The software can generate advice on what categories users should reduce, or recommend them on other deals, products that are more economical than their current option, based on your past expense and earning history. Furthermore, users can set their own target of savings for their purposes (travels, concerts, purchasing expensive items, investments, etc…) and the software will provide suggestions on how they can achieve that goal in a specific timeframe.</p>
<p>There are other smaller features that our team would like to include in the future, such as payment transfer and bill payment or investment management.</p>
<p>Due to the very limited timeframe for the assignment, our group only had 3 weeks, which was only enough for us to finish the first two phases of Planning, Analysing and developing a concept for this project. The next four steps, Design, Implementation, Testing and Maintenance will be planned as below, with a detailed timeline in the Timeframe part later in this report.</p>
<p>Once we finish the idea and concept for “Piggy Bank” application, in the next Design phase, the first step is to create the User Experience (UX) wireframes and mockups. This step should take approximately 4-6 weeks, and while developing the UX, it is crucial to follow closely with the concept that our group has come up with in the previous part.</p>
<p>The next step is to design the User Interface (UI). It will aim at creating a user-friendly presentation and interactivity of the software, by combining colour schemes, typefaces, graphics… This process is expected to take about 3-4 weeks.</p>
<p>Over the Implementation phase, this will include two sets of application developers. One set is aimed at frontend, while the other focuses on the backend development of the app. This is the most complex phase since it includes intensely detailed coding and highly regular check for bugs and errors along the way. Thus, it is expected that this phase of development will take approximately 2-3 months to complete.
<p>Considering the Testing and Integration phase, this process is anticipated to be completed within 4-6 weeks, including two different periods of alpha testing and beta testing. There is also a small time frame towards the end of this phase for our team to do some final fine-tune after the testing phase to finalise our product and launch it to the market.</p>
<h2>3.5.3 Roles</h2>
<p>Each team member will be assigned with different roles and responsibilities based on their current skills and experience that we have discussed throughout the course. The brief description of each team member’s role is introduced as the below table:</p>
<br>
<div class = 'roles'>
<table style="width: 100%;">
<tr>
<th> Team Member </th>
<th> Experience and Responsibilities </th>
</tr>
<tr>
<td style="text-align: center;">Do Viet Ninh (s3871573)</td>
<td>
<ul>
<b>Relevant Skills and Experience:</b>
<li>Major: Human Resource Management</li>
<li>Soft skills: Presentation, Public Speaking, Designing</li>
<li>Has experience in academic writing</li>
<li>Has some experience in designing</li>
<br>
<b>Roles and Responsibility:</b>
<li>Project Manager: planning, controlling and coordinating team members to the goals of the project.</li>
<li>Business Analyst: analyse business requirements to set the right goals for optimal project development.</li>
<li>Report Writer and Editor</li>
<li>UX/UI designer</li>
</ul>
</td>
</tr>
<tr>
<td style="text-align: center;">Hoang Hua Hiep (s3979137)</td>
<td>
<ul>
<b>Relevant Skills and Experience:</b>
<li>Major: Information Technology</li>
<li>Has experience to a number of coding languages: C++, Java, Javascript, SQL, especially Python (intermediate to advanced level)</li>
<br>
<b>Roles and Responsibility:</b>
<li>Back/FrontEnd Developer</li>
<li>Report Writer</li>
<li>Quality Assurance Engineer: ensures a bug-free product, adapt the software to different platforms and operating systems</li>
</ul>
</td>
</tr>
<tr>
<td style="text-align: center;">Nguyen Tien Dung (s3999561)</td>
<td>
<ul>
<b>Relevant Skills and Experience:</b>
<li>Major: Information Technology & Minor: Cloud Development</li>
<li>Has experience in C#, JavaScript, and web API backends for web development</li>
<li>Good interpersonal skills</li>
<br>
<b>Roles and Responsibility:</b>
<li>BackEnd Developer</li>
<li>Cloud Engineer</li>
<li>Report Writer</li>
<li>Quality Assurance Engineer: ensures a bug-free product, adapt the software to different platforms and operating systems</li>
</ul>
</td>
</tr>
<tr>
<td style="text-align: center;">Noaman Muhammad Zain Ul Abideen (s4021266)</td>
<td>
<ul>
<b>Relevant Skills and Experience:</b>
<li>Major: Information Technology</li>
<li>Has some experience with Python and SQL</li>
<br>
<b>Roles and Responsibility:</b>
<li>Report Writer</li>
<li>Frontend Developer</li>
</ul>
</td>
</tr>
</table>
</div>
<h2>3.5.4 Scope and Limits</h2>
<div class = "roles" dir="ltr" align="left">
<table>
<colgroup>
<col width="100"/>
<col width="146"/>
<col width="355"/>
</colgroup>
<tbody>
<tr>
<th colspan="3">Scope</th>
</tr>
<tr>
<td>Priority</td>
<td>Feature</td>
<td>Description</td>
</tr>
<tr>
<td rowspan="4">High</td>
<td>User registration and profile creation</td>
<td>Allow users to create and access profiles, store and analyze data, and sync across devices, banks, and wallets.</td>
</tr>
<tr>
<td>Transaction Tracking</td>
<td>The app will track user transactions from bank accounts, digital wallets, and manual cash input.</td>
</tr>
<tr>
<td>Subscription Tracking</td>
<td>The app will track user subscriptions, send payment reminders, and identify unused subscriptions.</td>
</tr>
<tr>
<td>AI-powered Suggestions</td>
<td>AI will analyze user transactions and provide personalized budgets and expense reduction recommendations.</td>
</tr>
<tr>
<td rowspan="2">Medium</td>
<td>Saving goals</td>
<td>Users can set saving goals, and the app will identify areas for expense reduction.</td>
</tr>
<tr>
<td>Financial Insights and Reports</td>
<td>The app will generate comprehensive reports to understand user finances.</td>
</tr>
<tr>
<td>Low</td>
<td>Payment transfer and bill payment</td>
<td>Users can pay bills directly from the application.</td>
</tr>
</tbody>
</table>
</div>
<br/>
<div class = "roles" dir="ltr" align="left">
<table>
<colgroup>
<col width="221"/>
<col width="381"/>
</colgroup>
<tbody>
<tr>
<th colspan="2">Limits</th>
</tr>
<tr>
<td>Features</td>
<td>Description</td>
</tr>
<tr>
<td>AI-powered suggestion</td>
<td>The app provides financial advice, but consulting experts for professional advice is recommended.</td>
</tr>
<tr>
<td>Security</td>
<td>The app takes necessary security measures, but users should create strong passwords to protect their data.</td>
</tr>
<tr>
<td>Revenue</td>
<td>The app is free and generates revenue through ads, based on user engagement and ad clicks.</td>
</tr>
<tr>
<td>User Input</td>
<td>Inaccurate or incomplete data entry can lead to incorrect budget calculations and reports.</td>
</tr>
</tbody>
</table>
</div>
<br/>
<h2>3.5.5 Tools and Technologies</h2>
<p>There are numerous softwares, tools and technologies that will be used throughout the entire lifecycle of the entire app (from inception, design, development to production) each with their own purpose uniquely catered for a specific stage within the product life cycle. From the inception stage, we would need to plan out the application’s architecture for both back end and front end. This requires use of diagram tools such as draw.io and UML tools for designing entity relationship models which will later be developed into a database. After having planned out the application architecture, the team will then need to consider designing how the front end will look to the end user. This will require the use of design tools such as Figma that is uniquely catered for this purpose.
<br><br>
After designing comes the development stage, there are several facets of the development stage each requiring their own toolset. For starters, the team will need an IDE (Integrated Development Environment) to work with in order to develop the application. The application should be accessible to both IOS and Android users, so using a cross platform technology framework such as Flutter will be used to develop the application whilst being able to maintain a single codebase. Otherwise, another approach is to use Kotlin for Android development and Swift for IOS development. The team would then need to interact with banking softwares and digital wallets to work with their APIs in order to create an integration between the app and the software.
<br><br>
There are several features of the app that heavily relies on artificial intelligence in order to perform actions such as suggesting a personalised budget plan as described in the Overview section. To develop AI capabilities, the team will use a specific library called TensorFlow which is an AI library designed specifically for mobile application, making it uniquely suitable for the purpose of our application. Finally, the app also needs to send frequent push notifications for features such as reminding user’s of an upcoming recurring subscription. These reminders will be achieved using Amazon SNS to automate the process of sending push notifications at predefined time and under proper context.
<br><br>
Finally, there’s tools related to the collaboration aspect of the development stage as well. This app requires the collaborative effort of multiple people considering the scale and features involved in this app. First of all, a repository hosting service would be required so the team will make use of Github. CI/CD (Continuous Integration and Continuous Development) tools are also needed to ensure a smooth developmental workflow, services such as CircleCI will be used for this purpose.
<br><br>
Once the application has been successfully developed, it needs to be made available to the public such that they can access it over a network. This is made possible by deploying the application to a cloud hosted provider such as AWS (Amazon Web Service), doing this also requires the application code to use AWS respective SDK (Software Development Kit) which is another tool that would be included in the developmental stage. Once deployed, a tool called “Sentry” will be used to monitor the application performance and receive reports of any errors that may arise.
<br><br>
Regarding the licence, there were several softwares mentioned in this section that required paid licence such as an IDE to develop the application. The team will be using Jetbrains proprietary suite of IDEs so a commercial licence will be needed. Other proprietary software such as Figma, CircleCI, Sentry, Amazon SNS and Github Enterprise (for hosting code repository) will also require the need of a commercial licence. Other than that, this project uses open-source tools (such as draw.io) that doesn’t require any commercial licence.
<br><br>
No extra hardware is needed beyond a standard laptop for application development and a phone to run and test the application on.</p>
<h2>3.5.6 Testing</h2>
<p>There’s going to be technical tests to ensure that the application is working as intended. Such tests include unit testing and integration testing. Unit testing is the testing of individual methods and functions of classes whilst integration test is more concerned with testing if the module or services works well together. The project will also include user testing to gather feedback about the product and see how it fares up against other products within the same market. To gather candidates for the product, we will issue an announcement to local communities such as RMIT Vietnam Facebook with a small monetary incentive for those who agree to participate in the survey. Approximately around 20 candidates will be selected for the survey, separated into 2 groups, those who study IT and those who don’t study IT. The reason for this separation is to observe how a non-technical user would interact with the app and see if they would find any aspect of the app difficult to use. Such interaction will be used as feedback in order to improve the UI of the app to make it more user friendly to a larger audience.
<br><br>
We can verify that the test is a success if most of the candidates give out highly positive reviews about our application. This indicates that the application has been well made up to the proper standard. Regarding the technical test, if the application passes the unit tests and integration tests without throwing any errors then it would be considered a successful test. The application has to pass both of these tests in order to be determined a successful application.</p>
<h2>3.5.7 Timeframe</h2>
<p>Assuming that the timeline will comprise 16 weeks, with the first 4 weeks dedicated to the assignment and the next 12 weeks for project development, this is the timeframe that our team proposed.</p>
<p>The full timeframe can be accessed via this link: <a href="https://drive.google.com/file/d/1BS_HTCCtwYFeW9KS2Mckb4E7so0lq6KF/view?usp=sharing" target = "_blank">Project Timeframe</a></p>
<h2>3.5.8 Risks</h2>
<p>
When developing a mobile app like Piggy Bank, there are some risks that our team might encounter: user-friendly GUI, data security, and user trust.
<br><br>
A common mistake that inexperienced mobile app developers make is making their apps difficult to use. For example, they may attempt to make every feature visible on an app, resulting in an overflow menu. To address this, our team must categorise those features and evaluate which are most necessary for the Piggy Bank app. In other words, we must determine which important information to display for users for them to keep track of their budgets. To create a draft for our app, we will explore ideas and showcase them using Figma and Adobe XD. We will run a few drafts before settling on the final app interface. In addition, in order to continue improving our Piggy Bank, we will run a beta version to test the software and get user feedback.
<br><br>
Another factor to consider is the app's security. The Piggy Bank app allows users to create a monthly budget goal and keep track of where their money goes. As a result, in order to improve performance, Piggy Bank will link directly to the users' banks to obtain transaction data. Users must provide their account number and the CVV of their debit or credit card. Most hackers would target sensitive and personal information like this. The possibility of data leakage or unauthorised access always exists. To safeguard user data, we must aggressively encrypt data and gradually install secure storage. Also, because we are hosting our application in the cloud, our cloud provider will manage and secure the majority of our data and storage.
<br><br>
Earning and retaining user trust is critical to Piggy Bank's long-term success. We must set clear privacy rules and provide proactive customer assistance for security measures. Users must be confident that their personal information is secure within the app and is being handled responsibly. In addition, gradually gaining trust improves user experience and builds loyalty, causing them to stay with us longer. Therefore, not only will the development team continue to improve the app, but users will also be involved by reporting bugs and providing positive as well as negative comments. It is a mutually beneficial connection.
</p>
<h2>3.5.9 Group Process and Communications</h2>
<p>
First, the team leader asks for contact information from each member. Our team interacted via Facebook Messenger. We had set up and added everyone in the team to a group chat since the last assignment. Once a week, the team leader conducts an online poll to determine when everyone is available for an online meeting. The meetings are held to review the assignment objectives, allocate smaller tasks to each member, share updates, address any issues, and verify that everyone is on the same page. The team leader sets up a due date for the first draft before the assignment deadline following the first meeting. For the face-to-face meeting, we prefer the days that we go to the university for the tutorials. We usually meet thirty minutes before or after class.
<br><br>
We also utilise Google Docs in addition to Facebook Messenger. Google Docs allows several people to collaborate on the document at the same time by adding email addresses. Furthermore, everyone's contribution is easily evaluated thanks to Google Docs' "version history". It allows you to go through adjustments and see who made them. As a result, each member's contribution will be straightforward to assess.
<br><br>
If a team member has a personal issue that prevents them from completing assignments on time, they should notify the group chat. The team can evaluate the impact of the delay and suggest alternate solutions to reduce the impact on the deadlines for the project.
<br><br>
There are few things we can do to prevent a group member from refusing to communicate during a group effort. First, the team leader must check in on a frequent basis in the group chat to ensure that everyone is held accountable. Second, if a group member fails to communicate at all, the team leader should approach them privately. Third, we should record attempts to contact the unresponsive team member as proof in case the course instructor is needed later.
</p>
<h1>4. Skills and Jobs</h1>
<p>Considering the current abilities of each team member and the current progress of the project, our team proposes that the project will need the following positions, namely Backend Developer, Frontend Developer, Cloud Engineer and UX/UI Designer.</p>
<b style="font-size: 150%; color: #FEE715">a. Backend Developer Job Description:</b>
<ul>
<b style="font-size: 120%; color: #E3B448">Responsibilities</b>
<li>Develop and maintain the server-side logic and database architecture for our mobile financial application.</li>
<li>Work closely with Frontend Developers in integrating a seamless backend functionality.</li>
<li>Implement efficient and secure API to optimise data exchange between application and the server.</li>
<li>Ensure data security and integrity by applying strong encryption and authentication techniques.</li>
<li>Continuously troubleshoot issues related to functionality of the backend.</li>
<br>
<b style="font-size: 120%; color: #E3B448">Requirements</b>
<li>Bachelor’s Degree in Computer Science, Information Technology, Software Engineering or related field.</li>
<li>Strong ability and performance in Python and Java.</li>
<li>Have experience with database systems such as MySQL & MongoDB.</li>
<li>Familiar with RESTful API development and integration</li>
<li>Have experience related to security principles and practices in mobile application development.</li>
<li>Knowledge of banking protocols, financial systems or payment gateway is a plus.</li>
</ul>
<br>
<b style="font-size: 150%; color: #FEE715">b. Frontend Developer Job Description:</b>
<ul>
<b style="font-size: 120%; color: #E3B448">Responsibilities</b>
<li>Translate wireframes and mockups into visually appealing frontend components.</li>
<li>Develop an user-friendly and responsive mobile interface, using common web technologies such as HTML5 or Javascript.</li>
<li>Working closely with backend developers in integrating frontend components with backend APIs and ensure smooth functionality.</li>
<li>Ensure the compatibility of the application on different platforms and devices.</li>
<li>Collaborate effectively with cross-functional teams, including backend developers, designers, and product managers.</li>
<br>
<b style="font-size: 120%; color: #E3B448">Requirements</b>
<li>Bachelor’s Degree in Computer Science, Information Technology, Software Engineering or related areas.</li>
<li>Prior experience as a FrontEnd Developer, with developing mobile applications is a plus.</li>
<li>Strong proficiency in frontend development languages such as HTML5, CSS3, and JavaScript.</li>
<li>Familiarity with UI/UX design principles and best practices; experience with modern frontend frameworks.</li>
<li>Knowledge of banking protocols, financial systems or payment gateway is a plus.</li>
</ul>
<br>
<b style="font-size: 150%; color: #FEE715">c. Cloud Engineer Job Description:</b>
<ul>
<b style="font-size: 120%; color: #E3B448">Responsibilities</b>
<li>Design, manage and implement the cloud infrastructure and services as required for the application.</li>
<li>Implement secure and compliant cloud practices, including identity and access management, data encryption, and network security.</li>
<li>Optimise cloud resources for better performance, cost efficiency and scalability.</li>
<li>Monitor and troubleshoot cloud infrastructure, performance, and availability issues.</li>
<li>Ensure compliance with data protection regulations and industry standards in the cloud environment.</li>
<li>Document cloud infrastructure, configurations, and procedures.</li>
<br>
<b style="font-size: 120%; color: #E3B448">Requirements</b>
<li>Bachelor’s Degree in Computer Science, Cloud Engineering or equivalent fields.</li>
<li>Prior work experience as Cloud Engineering or similar positions.</li>
<li>Strong proficiency in cloud platforms, particularly Amazon Web Services (AWS).</li>
<li>Solid understanding of networking concepts, virtualization, and containerization technologies as well as cloud security best practices and familiarity with security tools and techniques.</li>
<li>Strong and highly-detailed problem-solving and troubleshooting skills.</li>
<li>Knowledge of banking protocols, financial systems or payment gateway is a plus.</li>
</ul>
<br>
<b style="font-size: 150%; color: #FEE715">d. UX/UI Designer Job Description:</b>
<ul>
<b style="font-size: 120%; color: #E3B448">Responsibilities</b>
<li>Create user flows, wireframes, and interactive prototypes to visualise and communicate design concepts and solutions.</li>
<li>Ability to design visually appealing user interfaces, adhering to design principles and best practices that prioritise accessibility, usability, and seamless user experience.</li>
<li>Collaborate with developers to successfully implement UX/UI design solutions.</li>
<li>Continuously refine design concepts based on feedback, user testing, and usability studies.</li>
<li>Highly updated about current and latest design trends, best practices and emerging tools and technologies used in UX/UI design for mobile applications.</li>
<br>
<b style="font-size: 120%; color: #E3B448">Requirements</b>
<li>Bachelor’s Degree in Graphic Design, Interaction Design or other equivalent fields.</li>
<li>Having previous experience as a Graphic Designer or similar position, prior experience working with mobile applications is a plus.</li>
<li>Proficiency in using Figma, Adobe XD, Sketch or similar softwares.</li>
<li>Good understanding of basic user-centred design, user research methodologies and usability testing, mobile design guidelines and different platforms design (iOS and Android).</li>
<li>Strong ability to effectively communicate with other developers to present and implement design concepts and ideas.</li>
</ul>
<h1>5. Group Reflection</h1>
<ul>
<li>Do Viet Ninh</li>
<p>Throughout the process for this assignment, our collaboration and communication went quite smoothly. I am surprised to find out that as a final year student, I still can learn a lot from other team members, especially in the technical aspect of software development while working with them in this assignment. My questions and struggles with the technical part throughout this project were quickly addressed with the help from Hiep and Dung (David). Personally, I believe that we adhere to our own deadlines, and each member’s work was delivered with good quality. Questions from team members were answered regardless of day or night time.
<br><br>
However, there are still areas that need improvement. First and foremost, there were occasionally times that we miscommunicated, or messages that took too long for other members to reply. Realising the situation, I did have a meeting to remind and encourage all other members to be more participative. Another issue is that sometimes members were not active in communicating due to being not confident in their work. The problem was also addressed during that meeting, where we try to foster more open communication.</p>
<br>
<li>Hoang Hua Hiep</li>
<p>
Our communication abilities have increased as a result of this project. I chose my partners cautiously at first, and I was still hesitant when we got our first task. However, following the second assignment, everyone is more responsible and takes their roles seriously by replying swiftly to the group chat. We are ready to help anyone who is having trouble writing their sections. For example, Dung and I helped Ninh acknowledge the job responsibilities and requirements under the Skills and Jobs section. Furthermore, because we established deadlines for each section, the process was fluid, implying that the quality of our report improved. Ninh is also a smart and well-organized leader. Without him, I doubt we would be able to meet the deadlines on time. He arranged the day so that we could accomplish our sections on time.
<br><br>
However, there is still opportunity for improvement. Sometimes our coworkers take too long to respond to messages, which causes misunderstanding. We do plan for the worst-case situation. But we do not want to deprive our teammates of distribution points. One thing that surprised me the most was that when we did not communicate properly and the deadline was approaching and I saw little progress on Google Docs, I was scared that my coworkers were cramming everything into a short time frame. As a result, the quality of their work would be poor, and plagiarism may be discovered on Turnitin. However, the Turnitin results were quite positive, with less than 20% plagiarism. That's when I realized we were an outstanding team.
<br>
</p>
<li>Nguyen Tien Dung</li>
<p>One thing that went well in the group was our collaborative process. We were efficient and quick to start on the assignment, creating personal due dates that weren’t close to the assignment deadline itself. We did our parts effectively and everyone fulfilled the deadline that we set. One thing that we could improve upon was our communication skills. While all members were active in the group chat, a lot of the times certain points were misunderstood, creating the need to repeat points or to further clarify points. Therefore, improving upon the communication would eliminate these hassle. One thing that I personally found surprising was the project idea and the main feature we were able to come up with. A finance budget app is a very common app, so I was surprised when we were able to come up with unique selling points that differentiated the app from other apps within the market quite well. One thing I’ve learned working in a group project is that communication is key for effective collaboration. Without an open communication to exchange ideas, comment on each other 's work and delegating tasks, we would not have an effective group such as ours.</p>
<li>Noaman Muhammad Zain Ul Abideen</li>
<p>
Throughout the time frame of this assignment, our communication process went very well, we had several online and physical meetings to discuss the progress of the assignment and what should be done next. When a member was facing a problem with his work, others were there and ready to help him no matter what the time was. Although the communication process was very good, one thing that could be improved was postponing the meetings several times, which pushed our due dates a little. However, the meetings took place, but on a different day, and the time to do our work got reduced. One thing that surprised me the most was, during the last assignment, we as a group pushed the deadlines and did everything at the last minute which caused a lot of problems, but this time everyone took the responsibility for work and everyone uploaded their work by the deadline we created for ourselves. This made the assignment very easy and we were able to do it smoothly. One thing that I learned about groups is that no matter how much experience you have, every time you get to learn something new from your members, communication is the key if you want your group to go along well.
</p>
</ul>
</body>
</html>