iOS Contacts App written in Swift 4 using C.R.U.D
Built with
- Ios 11.0
- Xcode 10.1
-
Create, Read, Update, and Delete contacts and contact information with
Core Data
(CRUD) -
NSManagedObjects:
First Name
requiredLast Name
requiredDate Of Birth
requiredPhone Numbers
requiredEmails
requiredAddresses
optionalFavorite Contact
optionalProfile Image
optional
-
Can set profile images for contacts and view them in contacts list
-
Powerful search functionality lets you search for contacts by first name / last name / or individual characters and highlights letters that match search query
search query = Johnny Per
Johnny Per
domo -
Table View Index and Sections to organize contacts by Name
-
Can set 'Favorite' ⭐️ contacts and filter for contacts that are only in your 'Favorites' list.
-
Can sort contacts A-Z by
First, Last Name
orLast, First Name
case byFirstName case byLastName ... //.byFirstName ["Johnny Perdomo", "Ross Geller", "Rachel Green", "Joey Tribbiani", "Chandler Bing"] //Array of Names ["C": ["Chandler Bing"], "J": ["Joey Tribbiani", "Johnny Perdomo"], "R": ["Rachel Green", "Ross Geller"]] //Index Letters in Section //.byLastName ["Perdomo Johnny", "Geller Ross", "Green Rachel", "Tribbiani Joey ", "Bing Chandler"] //Array of Names "B": ["Bing Chandler"], "G": [ "Geller Ross", "Green Rachel"], "P": ["Perdomo Johnny"], "T": ["Tribbiani Joey"]] //Index Letters in Section
-
Can choose birthdate using
UIDatePicker
-
Fully customizable Bulletin Boards by alexaubry
-
Beautiful animations by airbnb
-
Error Validations for Completed Contact Profile, Valid Emails, and Valid Phone Numbers, messages handled using SwiftMessages
func isEmailValid() -- func isPhoneNumberValid()
-
Convert contact addresses into map Coordinates and get route directions using Apple Maps 🚗
let geoCoder = CLGeocoder() geoCoder.geocodeAddressString(address) //convert street names into coordinates mapItem.openInMaps()
-
Make a phone call by tapping contact's phone number in profile View 📞
-
Send email by tapping on contact's email in profile view using
MFMailComposeViewController
📩 -
Powerful 💯 percent bugless code🐞 by covering various edge cases with Unit Tests
let email = "gsdfgfdg5fd1g5f" let checker = profile.isEmailValid(email) XCTAssertFalse(checker)
import CoreData
import MapKit
import Lottie //animations
import MessageUI
import SwiftMessages //A very flexible message bar for iOS written in Swift.
import BLTNBoard //General-purpose contextual cards for iOS
Pod Files
Cocoapods
pod 'lottie-ios'
pod 'SwiftMessages'
pod 'BulletinBoard'
BulletinBoard library by alexaubry
SwiftMessages library by SwiftKickMobile
lottie-ios library by airbnb
Standard MIT License