Treehouse TechDegree Project #10
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Carthage
DiaryApp.xcodeproj
DiaryAppTests
DiaryAppUITests
TodoList
Cartfile
Cartfile.resolved
Item+CoreDataClass.swift
Item+CoreDataProperties.swift
README.md

README.md

DiaryApp

Treehouse TechDegree Project #10

For this project, you will create a Core Data-based Diary App in Swift. You will be responsible for creating the data layer, the UI, as well as all other aspects. You are free to follow the provided mockups or design your own UI, provided the user experience is clear. Given the relatively small feature set for this app, give special attention in creating a good object model and writing clean, extensible code. Be sure to include unit tests, error handling and selecting just the right Swift language “tools” for the job. It might mean a lot of refactoring and getting peer reviews prior to submission. We hope you take the time to create a nice app!

At a minimum, your app should include the following features:

A basic master-detail view architecture Ability to create text journal entries and display a timestamp for each entry Ability to edit and delete existing journal entries Ability to add geolocation data to an entry Comprehensive unit testing coverage for your code

Create the Core Data driven Diary app using a TableView-based approach, with both Master and Detail Views.

Make sure users can scroll through the Master View to see a list of existing entries. In the Master View, the user should be able to: Create a new entry and be presented with the Detail View for data entry Tab on an existing entry to see the entry details in the corresponding Detail View Edit an existing entry (again with the corresponding Detail View) Delete an existing entry All diary content should remain intact after a user exit and relaunch the app. All diary entries should have and display a “created-on” or “last updated” date Add functionality such that users can add geolocation data to an entry.