For your final project, you will design and implement an app of your choosing. If you like, you can explore frameworks that we have not yet covered in class. You may also decide to dig deeper into topics we have already covered.
The completeness of the submitted app is the most important objective, which does not necessarily mean a full realization of the developer’s vision. It’s better to submit a polished app with fewer features than an app with many unpolished features. Apps that are “App Store ready” will receive the highest grades.
Written materials should be submitted as a PDF in your git repository.
Write a one-page summary of your application that answers the following questions:
Consider how you would market your app if you were to submit it to the App Store. Provide the following information:
Decide whether you want to build an iPhone, iPad or universal application. Determine which device orientations you will support.
Display a splash screen every time the user launches your app (i.e., every time its state goes from “not running” to “active”).
SKStoreReviewController
asking them to rate and review your app in the App Store.Your app is not required to make any network requests. However, if it does, you should gracefully handle the situation where there is no network connection or a network request fails.
When a network request is in progress, show an activity indicator (spinner) or progress bar when appropriate.
Since this course is not concerned with back-end development, you may choose to “fake” a back-end for your application. This could mean loading data from static json files or persisting data to UserDefaults
or the Documents Directory instead of a remote database. We will cover options for persisting data to a device later in the course.
You may use third-party frameworks with approval from the professor. List all third-party frameworks you plan to use in your final project proposal. If you find a framework you’d like to use after your proposal has already been submitted, you must request approval at that point.
When you submit your final project, you must list any third-party frameworks you used in your README. You should be familiar enough with any third-party framework used to explain in detail how the framework works.
In your README, remember to provide the instructors with all of the information necessary to test your application. For example:
We will have informal presentations of the final projects during the last class session.
Your presentation should cover the questions answered in your executive summary (above). Most importantly, you should show screenshots, play a short video or do a live demo of your application.