Reference no: EM133029328
Mobile Development (MD) / Cloud Based Web Applications (CBWA) / Algorithms & Constructs (A&C)
Learning Outcome 1: Assess the limitations of static Web solution and design dynamic application using a variety of industry standard Web application APIs, libraries and technologies to provide a high quality interactive experience for a target user base .
Learning Outcome 2: Deduce the application hosting needs of a client to select a cost effective and robust application delivery infrastructure using industry standard cloud based technologies, making informed decisions based upon requirements from a client, constraints from the environment and skills available of the development team who is working on a web application.
Learning Outcome 3: Review and provide a secure point of entry to existing data storage infrastructure to newly developed solutions through the use of data transportation and bespoke data access methods removing the need to depend on older web based technologies for newly developed application solutions.
Learning Outcome 4: Analyse existing web applications needs to migrate the existing application and infrastructure to a cloud based environment utilising dynamically allocated resources and services.
Learning Outcome 5: Design cloud based web applications which utilise existing libraries and services to CCT Validation Submission of Higher Diploma in Science in Computing - 75ECTS 148 provide the maximum user experience with considerations to the maintenance and testing of the developed solution.
Mobile Development
• MLO 3. Implement intelligent user interfaces using the Model-View-Controller (MVC) design pattern.
• MLO 4. Analyse a given client brief to develop an interactive mobile application that utilises the device sensors and appropriate storage capabilities while situating the result in a user-focused design.
Algorithms & Constructs
• MLO 1. Identify and select appropriate algorithms and constructs for a given real-world problem by differentiating between the complexity, scalability and efficiency of different candidate solutions.
• MLO 4. Develop and implement custom algorithms and constructs for a wide variety of application- specific tasks, taking performance and system resources into consideration.
• MLO 5. Employ a variety of different constructs and to implement and categorise different searching and traversal algorithms over said constructs.
Assessment Task
Students are advised to review and adhere to the submission requirements documented after the assessment task.
You have been requested to build a SaaS to split the cost of trips and share them across a team. The system will have a Java backend and a REACT Native mobile application front end.
Specific Requirements
• Your system must allow users to add individual expenses into the application, identified by the user that has added the record and the name of the trip.
• The system will require a user to:
o Login: The login action will retrieve a JWT token from the server and store in the client to be used for the rest of the transactions.
o Post an expense: The user will be able to post an expense that gets added to the database. This expense will be saved in the server, and will be identified with the username of the user that saved the data and the label of the trip. The server must check in this is a new label or an existing one. Also, the server must check if the label is active or not.
o List the expenses: At any stage the user is able to see all the expenses associated with a given label.
o Finish the trip: This flow will "close" the trip (no more expenses will be allowed and the trip
will be inactive) but the users will be able to get a report with:
- What they have paid
- What they need to pay/get paid
- The totals of the trip (total mount, number of purchases, highest expense, lowest expense and the average expense amount)
• For this prototype version, the you are not required to implement a database, however, you are required to implement data persistency of user names and passwords through text based files.
• All records of the trips and expenses will also be persistent by text based files, and should be loaded onto memory on the server side. You must use appropriate data structures for this. Also, you should adhere to the principles of object orientation for the Java part of the system.
• In order to identify the trip, all the users need to agree a key for it that then will be used when posting or retrieving information about it.
For example: It's 2025 and COVID has passed. David, Amilcar and Graham have decided to go to an IT conference in Australia. They have decided to divide the expenses of the trip evenly between
them. To do so, they'll use your application.
o Firstly, they all must agree on a name for the trip, let's say "ITAustralia2025". The trip itself
won't be created in the system, but they have to add this label to the records they add.
o Amilcar paid all the food for the group on the trip, he spent €150 of the first day, €250 on the second day and €100 on the last day. Graham bought the plane tickets with his credit card and spent €2500. David paid for a few coffees in the airport by €10.
o Each person will register their expenses in the system, identified with the label agreed.
o At any stage of the trip, a list of expenses can be requested to keep track of what each one has spent.
o At the end of the trip, a breakdown can be calculated alongside a balance to be paid/pay as per specification above.
- You will also produce a document where you'll describe the challenges you faced in the development process and your strategies to overcome them as well as the rationale for your design decisions.
Attachment:- Cloud Based Web Applications.rar