Challenge Overview
INTRODUCTION
This is the next challenge in a series to develop an iOS app and web portal for Total Mama in partnership with the Bill & Melinda Gates Foundation to track maternal health and fetal growth and development during pregnancy.
Total Mama is a new digital health company started and incubated at the University of Oxford whose goal is to provide women with personalized, evidence-based health information on pregnancy and fertility.
The Bill & Melinda Gates Foundation’s Healthy Birth, Growth, and Development knowledge integration (HBGDki) initiative seeks to develop data-driven strategies to accelerate the foundation’s ability to promote healthy birth, growth, and development, in the communities that need it most, by delivering the right interventions to the right child, at the right time, and at the right price.
REQUIREMENTS
You’ll be updating the existing Xcode project with the functionality, changes and updates outlined below.
Global
-- Remove separators from empty cells on all table views (profile, pregnancy detail, etc.)
Profile Screen
-- The user should only need to enter their password/confirm password if it is being changed. Currently the user needs to enter both to update any profile information.
-- Display a message alerting the user of the password requirements - alphanumeric with 1 capital letter, 6 characters minimum
Login
-- Display more meaningful error messages apart from the shaking of the user/pass fields if login fails
-- The expiration date of the user’s authentication token is not currently being checked.
-- Update the API calls to check if the token is expired before performing any actions
-- If the token is expired, return the user to the login screen
My Gallery
-- Images aren't displayed from an existing account/pregnancy after logging in on a fresh install of the app. Only after a timeline entry has been viewed do the images appear.
Pregnancy Detail
-- All fields should be validated before allowing a new or edited pregnancy to be saved. Do not allow pregnancy creation without values for all fields.
-- Allow editing of the expected due date and pre-pregnancy weight fields
-- If a pregnancy is deleted and it is the only one, the user should be navigated to the pregnancy list screen following deletion
-- Update the web services call for updating a pregnancy to include the new flag for the pregnancy being completed - parameter is "complete"
Timeline Entries
-- Don’t allow users to create multiple timeline entries (mother or baby) for the same date
SETUP
-- See the challenge forums for details on adding yourself to the Total-Mama GitLab group
-- Fork the iOS repository and use the tc_4 branch for the basis of development
-- Add harrywynn as a member of your forked repository with Reporter access
-- All necessary designs, source files and architecture documents can be found in the Resources repository
Final Submission Guidelines
-- Xcode 7.3 project with all screens and functionality as outlined above
-- Code must compile against iOS SDK 9.3 with a deployment target of iOS 8.0
-- Develop for iPhone size classes, with orientation locked to portrait
-- Use storyboards and auto layout for all views and navigation
-- All code must be written in Swift and be well commented
-- Upload your source project as a zip