COMP1424 Mobile Application Development Assignment

Assignment Help Programming Languages
Reference no: EM132726969

COMP1424 Mobile Application Development - University of Greenwich

Detailed Specification

Please read the entire coursework specification before starting work.

Estate agents are looking for new ways to interact with vendors and potential buyers/tenants. You are to create a mobile app for use by estate agents. Properties can be added to the app and sent for publication so that vendors can have access to them. The app is to be called madPropertyPal and will allow estate agents to record property details and do full property searches to show potential buyers/tenants. The features the app should support are given below:
• Features a) to e) are to be implemented as a native Android app coded in Java.
• Features f) and g) are to be implemented as a hybrid app coded using Cordova.
• Feature g) can be implemented as either or both additions to the native android app or Cordova app.

Your final app is the culmination of all your hard work on this course, which should become a strong addition to your programming portfolio. You should produce an app that is well-designed, robust and useful. The GUI design should be clean, simple to navigate, and operate smoothly without sluggishness or crashes. The app should not require instructions or a manual to use.

1. Description of the application

a) Enter details of properties for sale or rent:

Note that users must be able to enter all of the following fields. Required fields mean that the user must enter something in this field; otherwise they will be prompted with an error message. Optional fields mean that the user can enter something if they wish, but they will not get an error message if nothing is entered.

The user should be able to enter:
• Property Name and Number - Required field
• Type - Required field (eg. Apartment, House, Bungalow, etc.)
• Lease Type - Required field (eg. Freehold, leasehold, Short let, Long let, etc.)
• Location - Required field
• Number of Bedrooms - Required field
• Number of Bathrooms - Required field
• Size - Required field
• Asking Price - Required field
• Local Amenities - Optional field
• Description - Optional field (brief description of property and local area)
• Two or more other fields of your own invention - be creative!

The app will check the input and if the user doesn't enter anything in one of the required fields, the app should display an error message.

Once the details have been accepted by the app (e.g. no required fields were missing), it should display the details back to the user for confirmation and allow them to go back and change any details that they wish.

b) Store, view and delete property details or reset the database

All the details entered by the user should initially be stored on the device in an SQLite database.

The user should be able to list all the details of all properties that have been entered into the app, edit or delete individual properties, and delete all the details from the database.

c) Add reports about viewings to a property

Estate Agents will be able to enter details about buyer / tenant offers. They should be able to select a property and then add the following details:
• Date of viewing - this is a required field (ideally this should default to the current date).

• Interest - Required field (eg. "Firm", "Conditional", "Considering", "Not Interested", etc.)
• Offer price - Optional field
• Offer expiry date - Optional field
• Conditions of Offer - Optional field
• Viewing comments - Optional field

The user must be able to enter multiple viewings for a single property, e.g. to report on different visits by potential buyers / tenants.

The app should store all details entered on the device in an SQLite database.

It should be possible for a user to select a property and display all viewing and/or offers. It is not necessary to upload reports on viewings to the web service (feature e)).
d) Search (10%)

The user should be able to search for a property in the database by property name and number. At its simplest, this could mean entering the name and number and displaying the first property that matches. Ideally the user should be able to enter the first few letters of the name and display all matching properties.
Advanced search options will allow searching for all properties with the following criteria: a particular area, type, or number of bedrooms. It should be possible for a user to select an item from the resulting search list and to display its full details.

e) Upload details to a cloud-based web service (10%)

The user should be able to upload all the basic details of properties stored on the mobile device to a cloud-based web service. It should be possible for all properties to be uploaded at once. YOU DO NOT NEED TO WRITE the web application as it will be made available to you.


The format of the response
The web service will respond with an HTTP response containing JSON which represents a reply to your upload. The JSON reply will contain the following fields:

field name value
uploadResponseCode A code indicating whether or not your upload was successful. Values are
either SUCCESS or FAILURE. If the code is FAILURE the message field will contain more information about what went wrong.
userid The same userId that was included in the upload message
number The number of records uploaded
names The names of the records uploaded
message A message giving more information about what happened. Particularly important if the uploadResponseCode is not SUCCESS

An example response is given below. Note that the order of the fields may vary
{"uploadResponseCode":"SUCCESS", "userid":"wg999",
"number":2,
"names":"19 Chelsea Cloisters, 70 Point Hill", "message":"successful upload - all done!"}

Your app should display the data sent in the response. You could just display the raw JSON message, but it would be better to format the output to make it more readable for the user.

f) Create a cross-platform prototype of the app using Cordova

Implement as much as you can of features a) using Cordova.

g) Implement persistence using Cordova

Implement as much as you can of features b) using Cordova.

h) Add additional features to either or both the Android or Cordova version of the app

Features a) to e) are the core requirements for the app. If you have implemented these and want to add some additional features, then you may. Any enhancements should be implemented in addition to NOT instead of the core requirements. The idea is that these features stretch your skills, so be prepared to do your own research and feel free to show off! You can think of your own enhancements. Here are some possible examples:
• Allow photos taken by the camera to be added to the data stored
• Pick up the location automatically from the user's location
• Show the location of a property on a map
• Make use of an external web service other than the one provided for the coursework.
• Anything you can think of - again be creative!

2. Report

Write a report consisting of all the following sections:

• Section 1. A concise table containing a checklist of the features you have been able to implement. Please refer to the features list given above in the specification. For example, you might write:

Feature Implementation
a) Fully implemented
b) Fully implemented
c) I have created the user interface for data entry but the data is not being stored ?
d) Implemented but the app throws an exception if no matching result is found.
e) Fully implemented
f) I have create a Cordova prototype of feature a)
g) Features b) were not implemented in the Cordova prototype
h) No additional features implemented

• Section 2. A concise list of any bugs and/or weaknesses in your app(s). It is unlikely that there are no bugs or weaknesses but if you don't think there are any then say so. Bugs that are declared in this list will lose you fewer marks than ones that you don't declare!

• Section 3. A brief (less than half a page) description of any special strengths of your app(s) that you think should be taken into account in awarding a mark. Please be very specific and realistic in this: vague statements such as "it is easy to use" or "it is well designed" will not gain you marks.

• Section 4. Screen shots demonstrating each of the features that you have implemented. Give captions or annotations to explain which features are being demonstrated.

• Section 5. (10%) An evaluation of your app(s). Write between 700 to 1000 words evaluating the app(s) that you have produced. Be specific and justify any statements you make. Just saying things like "my app is well designed" without justifying the statement will not gain you any marks. Also, explain how your app could be improved. Again, you need to try to be specific e.g. saying something like "It needs to be made more secure by adding security features" will not gain marks. Your evaluation should include, but need not be limited to, the following aspects of your app:
i. Human computer interaction (you will have a lecture about this)
ii. Security (you will need to research this yourself)
iii. Ability of the app to run on a range of screen sizes and how this could be improved (we will touch on this in the course but you will need to do additional research)
iv. Changes that would need to be made in order for the app(s) to be deployed for live use

This sort of discussion will form an important part of your MSc project report so use this opportunity as a way of practicing your skills in writing an evaluation.

Attachment:- Mobile Application Development.rar

Reference no: EM132726969

Questions Cloud

How much would be his gross taxable income for year : How much would be his gross taxable income for year 2018 as basis for Philippine income tax computation under each of the following independent assumptions
Discuss about human resource business partner development : Your previous contributions addressing a variety of important topics outlined in all previous assignments for this course are deemed essential in supporting.
What are the trade-offs between cost-quality : What are the trade-offs between cost, quality, and time when designing a project plan? What criteria should managers use to manage this trade-off?
Digital Transformation of Credit Process-Model Governance : What are some recent threats(2019) in the Digital Transformation of Credit Process and Model Governance.
COMP1424 Mobile Application Development Assignment : COMP1424 Mobile Application Development Assignment Help and Solution, University of Greenwich - Assessment Writing Service
Find the budgeted cost of goods manufactured for March : The company desires to have 110,400 units on hand on March 31. Find the budgeted cost of goods manufactured for March
Encounter struggles : Where did you encounter struggles this week at work and what did you do to address them?
Opportunity to gain some practical experience with indexing : This group assignment provides an opportunity to gain some practical experience with indexing.
Examine hr role in conflict management and resolution : Examine HR's role in conflict management and resolution. Identify the process that managers and employees should follow to contact HR for cases involving.

Reviews

Write a Review

Programming Languages Questions & Answers

  Write a haskell program to calculates a balanced partition

Write a program in Haskell which calculates a balanced partition of N items where each item has a value between 0 and K such that the difference b/w the sum of the values of first partition,

  Create an application to run in the amazon ec2 service

In this project you will create an application to run in the Amazon EC2 service and you will also create a client that can run on local machine and access your application.

  Explain the process to develop a web page locally

Explain the process to develop a Web page locally

  Write functions

These 14 questions covers java class, Array, link list , generic class.

  Programming assignment

If the user wants to read the input from a file, then the output will also go into a different file . If the user wants to read the input interactively, then the output will go to the screen .

  Write a prolog program using swi proglog

Write a Prolog program using swi proglog

  Create a custom application using eclipse

Create a custom Application Using Eclipse Android Development

  Create a application using the mvc architecture

create a application using the MVC architecture. No scripting elements are allowed in JSP pages.

  Develops bespoke solutions for the rubber industry

Develops bespoke solutions for the rubber industry

  Design a program that models the worms behavior

Design a program that models the worm's behavior.

  Writing a class

Build a class for a type called Fraction

  Design a program that assigns seats on an airplane

Write a program that allows an instructor to keep a grade book and also design and implement a program that assigns seats on an airplane.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd