Giter VIP home page Giter VIP logo

contacts's Introduction

Contacts

iOS Contacts App written in Swift 4 using C.R.U.D

Preview

Alt Text Alt Text Alt Text

Built with

  • Ios 11.0
  • Xcode 10.1

Features

  • Create, Read, Update, and Delete contacts and contact information with Core Data (CRUD)

  • NSManagedObjects:

    • First Name required
    • Last Name required
    • Date Of Birth required
    • Phone Numbers required
    • Emails required
    • Addresses optional
    • Favorite Contact optional
    • Profile 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 Perdomo

  • 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 or Last, 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)

Requirements

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

License

Standard MIT License

contacts's People

Contributors

johnnyperdomo avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.