Contacts

A flutter project with Implementation of a Contacts app in 4 ways (API, Custom, Preferences and Sqflite). It consist some common operations like create, edit , search and view operations on Contacts. Contacts in this project are not linked with the contacts stored in your Smart phone.

App Demonstrating the use of Flutter and PHP.

App Logo Created Using Material Design Icons
For Hosting used 000webhost

Built With

Flutter - Cross Platform App Development Framework.

Screenshots

App_In_App_Drawer

App_Logo

Ways_Available

Contacts

Logs

Navigation_Drawer

Contact_Details

Deleted_Contacts

Edit_Contact

Search_Contacts_With_Search_Query

Create_Contact

Google_Place_Search

How to use this App.

  • Host the sample included inside phpbackend on preferred web hosting

  • Create Tables inside your database using contacts.sql

  • If you are using your own website with the steps mentioned above edit the following constant inside constants.dart

    static const String _CONTACT_API_BASE_URL = "https://hafinse.000webhostapp.com/contact/";

  • Make sure to edit DatabaseConnection.php and change following things If you are using the files available in phpbackend-

    private $host = "your_host";
    private $db_name = "your_database_name";
    private $username = "your_user_name";
    private $password = "your_password";

  • Make Sure to Use your own Google Place Search API key edit the following constant inside constants.dart

    const String GOOGLE_PLACE_API_KEY = "REPLACE_IT_WITH_YOUR_OWN_API_KEY";

Not Interested in doing above steps just clone this repo and use it as it is already hosted on Free Web Host 000webhost hafinse

Things you can learn through this project -

  1. Hero Animation from a Contact List Item to Contact Detail.
  2. Google Place Search.
  3. Right Swipe to Edit a Contact and Left Swipe to Delete a Contact.
  4. Regular Expressions.
  5. Form validations.
  6. Multiple Floating Action Button on Single Page.
  7. Starting a Page for Result.
  8. Conversion from Base64 String to Image and Image to Base64 String.
  9. Image Picking from Gallery and Camera.
  10. Call Intent Launching from Contact Details.
  11. Mail Intent Launching from Contact Details.
  12. Map Intent Launching from Contact Details
  13. Store and Retrieve values from APIs.
  14. Store and Retrieve values from Shared Preference.
  15. Store and Retrieve values from SQLite Database.
  16. Store and Retrieve values from temporary Objects.
  17. Navigation Drawer.
  18. Navigation Drawer with Multiple Type Of Views.
  19. Navigation Between Pages.
  20. Performing Operations in Background Thread.
  21. Background Operations Chaining.
  22. Integration of Rest APIs.
  23. Creation of REST APIs in PHP
  24. Serialization and DesSerialization of JSON.
  25. ProgressDialogs and SnackBar.
  26. Custom Progress Dialog & Custom Views.

Features Implemented

  • App is Working on Android and Ios Platforms.
  • App Implemented in 4 Ways For all the Operations Available in the App

    -> API = Integrate REST APIs Created In PHP Postman Collection Link for REST APIs

    -> Custom = Used Classes and Objects

    -> Preferences = Used Shared Preferences

    -> Sqflite = Used Sqlite Database
  • Rest APIs in PHP
  • Splash
  • Navigation Drawer
  • Contacts List
  • Deleted Contacts List
  • Logs
  • Create Contact
  • Contact Details
  • Edit Contact
  • Search Contacts
  • Floating Action Button
  • Hero Animation
  • Google Place Search

GitHub

https://github.com/harsh159357/contacts