CSE 335- Spring 2019
Class Project Requirements
Objective: Main objective of this class project to design and implement a reasonably complex problem that encapsulates some of the fundamental concepts discussed during the semester.
Main Requirements:
a) This is an Individual Project
b) Project should include a persistent data storage to keep data permanent (coredata or firebase) .
c) Project design should be done using MVC architecture so that data, view, and controller
functionality need to be divided into appropriate modules.
d) UseremoteWebServices(WebAPIcalls)
e) Use map and location based map functionality
f) Use UIImagePickerView (both camera and photo library) and TableView
Deliverables:
Phase I (Due March 2nd Saturday by 11:59 pm, Online): Design (UI walkthrough, MVC architecture
diagram, class diagram) and a 1st iteration of the implementation (one or two functionality implemented)
Note (See samples of each of the above artifacts posted with phase I requirements):
Grading Rubric
Artifact
Expected Competency/Point Allocation
Missing Expected Competency
Class Diagram
class diagram must be a UML class diagram drawn using a UML modelling tool such as Violet UML/astsh). Hand drawn UML diagrams will not be accepted – 30 pts
Did not use a UML modeling tool, not submitting UML class diagram – 0 pts
MVC Diagram
MVC diagram need to show how Model/views/controllers in your design communicate – 30 Pts
Missing MVC diagram clearly showing communion among model, views, controllers – 0 pts
UI Walkthrough
UI walkthrough must be developed using a UI mockup tool to mockup screens followed by description of each screen – 30 Pts
Did not use a UI mock-up tool, mockup screens followed by description of each screen – 0 pts
1st iteration of the implementation
Project folder with your implementation submitted as zip file that compiles without errors – 10 pts
No submission or project doesn’t compile correctly – 0 pts
Phase II (Due April 13th Saturday by 11:59 pm Online): Completed project (Code) Grading Criteria:
Requirements
Satisfied
Unsatisfied
Complete project submitted and no compilation errors
No compilation errors
Compilation errors that require many changes in the code – 0/100
Implement using MVC architecture (20 Pts)
Correctly implement Model, View, Controllers – 20 pts
Do not have properly implemented Model – 0/20 pts
Use Web API calls (15 pts)
You need to process json result from the web api call in your program.
Do not use third-party library to process json (you can use swifty- json or swift default json processing technique that we discuss in the class)
Web API calls – 5 pts
Process josn results from the web api calls as specified in the requirements 10 Pts
Missing API calls 0/5
Do not process json in the program or using 3rd party APIs – 0/10
Using map and location based functionality – 10 pts
Use map and location based functionality without hardcoding longitude and latitude values – 10 Pts
Missing map/location functionality – 0/10
Use map/location functionality with hardcoded longitude and latitude values 3/10
Use permanent data storage (firebase or coredata) – 20 pts
Use permanent data storage (firebase or coredata) to store and use data in the app – 20 pts
Missing permanent data storage 0/20
Use image pickerview (both camera and the photo library) – 10 pts
Use image pickerview (both camera and the photo library) – 10 pts
Missing both camera and the photo library 0/10
Missing either camera or the photo library 5/10
Use table view appropriately -15 pts
Use table view – 15 pts
Missing table view 0/15
Overall completeness and the quality of the UI – 10 pts
UI is acceptable with no issues in displaying the content – 10 pts
UI elements are not visible properly / not organized in a user friendly manner – partial credit based on the merit of your UI design
Phase III (Due April 26th Friday by 11:59 pm Online): Project presentation recorded online, Final MVC architecture diagram, final class diagram. This will be counted towards your final exam grade. Presentation should include technical details of the design and implementation.
Project Ideas: You are encourage to have your own project idea. I am posting few examples as a guidelines
Project Idea 1 Efferent Patent Care System (Please talk to me if you decide to do this project)
This year’s class project is to develop a software system called “Efferent Patent Care System” application that helps healthcare providers to receive conditions/symptoms of terminally ill patients in real-time and take care of health issues efficiently. That may prevent unnecessary emergency visits as well as patents that need immediate attention will be treated quickly.
This system basically has two groups of functionalities (patients’ and health care providers’). Patients enter their health conditions/concerns based on well-defined symptoms such as nausea, headache, chest pain …etc through a patient application. Ideally, such an application can be deployed in a smart phone/handheld device. Patients can enter their pain levels using a numerical scale 1(mild) through 10(severe). We will provide more details about symptoms with phase I requirements
Each patient has a backend data records and based on patient data and health conditions severity of each patients’ condition will be determined by the system (You can come up with your own algorithm for this or we can provide more guidelines with phase I requirements). Once patients’ condition is determined, a message will be sent to the doctor, nurse, or nurse practitioner who work with the particular doctor that the patient is getting treatment from. Arrival of such a message can trigger appropriate actions from the doctor/ nurse practitioner/nurse to take care of patients’ situation.
Project Idea 2: Daily Workout Monitoring System (From a previous semester, please do not implement this as your class project)
For this project the mobile application is going to be some type of workout planner. A workout planner is good to have to keep track of workouts, progress, or even routines. This mobile application will contain a number of exercises that the user can look through and view details of each exercise when the user taps on the exercise. Since only viewing exercises is not
enough, the app will also allow the user to create a workout plan. A set of exercises for a particular day.
Primary Goals:
● Create an application that includes using tableview to display exercises.
● Store exercises locally using some type of database management system such as core data. ● Initially allow 7 customizable workout plans, one marked for each day of the week.
● Individual workout plans. ie 3 sets of 5 reps.
● Allow the workout plans to be saved by using some type of persistent storage.
Ability to search web for health indicators
Use the Map to show workout places and directions
Use a tab bar for easy navigation