A flutter project with Implementation of a Contacts app in 4 ways (API, Custom, Preferences and Sqflite).

Overview

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.

Built With

  • Flutter - Cross Platform App Development Framework

Screenshots

Contacts App In App Drawer App Logo Ways Available in The App 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://bingedev.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 bingedev

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

My Previous Flutter Project Click Here

If you are aware of Postman you can use Postman Collection for Rest API used in this repo

Helping Hands for this project

❤️ Found this project useful?

If you found this project useful, then please consider giving it a on Github and sharing it with your friends via social media.

Last But not Least

There are still some things which are pending in this project make a pull request to improve this project or suggest an idea to improve this project further by raising issues.

Project Maintained By

Harsh Sharma

Android Developer

License

Copyright 2018 Harsh Sharma

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
You might also like...

Clip your widgets with custom shapes provided.

Clip your widgets with custom shapes provided.

clippy_flutter Clip your widgets with custom shapes provided. #Arc, #Arrow, #Bevel, #ButtCheek, #Chevron, #Diagonal, #Label, #Message, #Paralellogram,

Dec 11, 2022

🎨Custom animation challenge annouced by egdroid

🎨Custom animation challenge annouced by egdroid

EgdroidChallenge Follow me on social media github linkedin twitter facebook 💪 challenge accepted 💪 A challenge code series idea suggested by an awes

Aug 28, 2020

Loading widget based on a Flare animation, allow you to create beautiful custom loading widgets or dialogs

flare_loading Loading widget based on a Flare animation, allow you to create custom loading widgets or dialogs If you're using Rive instead of Flare p

Apr 16, 2021

A simple custom loading indicator package.

A simple custom loading indicator package.

custom_loading_indicator A Flutter package to customise the loading indicators with your organisation's logo. Let's say you're a dentist and your app

Aug 10, 2020

A COVID-19 case tracker app which basically fetches latest data from an API and display it beautifully according to countries.

A COVID-19 case tracker app which basically fetches latest data from an API and display it beautifully according to countries.

Stay Safe Coronavirus Tracker Flutter App This app basically tracks the total cases of infected persons (real-time data), in all countries with total

Jun 20, 2022

Example Flutter App with fetch API

Example Flutter App with fetch API

flutter_article Example Flutter App with fetch api from https://jsonplaceholder.typicode.com/ with http Getting Started This project is a starting poi

Jul 26, 2022

A collection of Screens and attractive UIs built with Flutter ready to be used in your applications. No external libraries are used. Just download, add to your project and use.

A collection of Screens and attractive UIs built with Flutter ready to be used in your applications. No external libraries are used. Just download, add to your project and use.

Flutter Screens A collection of Login Screens, Buttons, Loaders and Widgets with attractive UIs, built with Flutter, ready to be used in your applicat

Dec 31, 2022

Random Users details in flutter from randomusers api

Random Users details in flutter from randomusers api

Random Users A new Flutter Random Users Details using randomuser.me api. Getting Started It is an Random users details with some cool UI, Details of u

Jul 29, 2022

A Flutter project for login and sign up

A Flutter project for login and sign up

loginsignup A new Flutter project for login and sign up. Getting Started This project is a starting point for a Flutter application. A few resources t

Dec 27, 2022
Comments
  • sqlite error

    sqlite error

    DatabaseException(Couldn't read row 0, col 0 from CursorWindow. Make sure the Cursor is initialized correctly before accessing data from it.) sql 'Select * from Contact' args []}

    opened by parsibox 6
  • Question: Imperative prog

    Question: Imperative prog

    I noticed the ProgressDialog has methods to call from outside, which delegate to internal state.

      void hide() {
        progressDialogState.hide();
      }
    

    This looks like imperative programming. Is this ok by the Flutter rules? Isn't Flutter declarative programming?

    • Newbee here
    opened by adrianvintu 2
  • phpbackend not work proper

    phpbackend not work proper

    i put it in ma backend but it not work proper like this :
    Fatal error: Call to undefined method Log::create() in D:\xampp\htdocs\phpbackend\objects\Contact.php on line 258

    please help me @harsh159357

    opened by craftbox2245 2
  • Google Maps Error

    Google Maps Error

    Compiler message: lib/pages/google_place_search.dart:25:48: Error: Too many positional arguments: 0 allowed, but 1 found. Try removing the extra positional arguments. GoogleMapsPlaces _places = new GoogleMapsPlaces(GOOGLE_PLACE_API_KEY);

    How to fix this ?

    opened by babycorp 2
Owner
Harsh Sharma
Senior Android Developer
Harsh Sharma
Random is a social media flutter application for both android and ios with frontend implementation

Random, A Social Media App A new Flutter application which represents the implementation of completely new design of Social media app for both Android

Zain Basharat Ali 10 Nov 18, 2022
A Flutter package to custom splash screen like change logo icon, logo animation, and splash screen background color.

Custom Splash Screen A Flutter package to custom splash screen: change logo icon, logo animation, and splash screen background color. (Custom from ani

tranhuycong 78 Sep 6, 2022
Custom Layout with interactive add button to impove your UI and UX .

Interactive Add button layout Custom Layout with interactive add button to impove your UI and UX . the package is available here inspired from Oleg Fr

Dokkar Rachid Reda 20 Sep 13, 2021
Render After Effects animations natively on Flutter. This package is a pure Dart implementation of a Lottie player.

Lottie for Flutter Lottie is a mobile library for Android and iOS that parses Adobe After Effects animations exported as json with Bodymovin and rende

Xavier H. 894 Jan 2, 2023
Create your own custom SlideTransition combined with some animation in Flutter.

Create your own custom SlideTransition combined with some animation in Flutter.

Johannes Milke 7 Jun 21, 2022
Writing custom Widgets in Flutter

Flutter - Custom Widgets Part 1 - EllipsizedText / LeafRenderObjectWidget Writing custom Widgets in Flutter (Part 1) — EllipsizedText Part 2 - ChildSi

Rostyslav Lesovyi 23 Dec 9, 2022
A custom Flutter value slider that makes a wave effect when dragged.

A Flutter slider that makes a wave effect when dragged. Does a little bounce when dropped. Demo Getting Started To use this plugin, add wave_slider as

Gordon Hayes 33 Dec 21, 2022
Arisslidetransition - Create your own custom SlideTransition combined with some animation in Flutter

SlideTransition Animation - Flutter Create your own custom SlideTransition combi

Behruz Hurramov 1 Jan 9, 2022
A simple widget for animating a set of images with full custom controls as an alternative to using a GIF file.

image_sequence_animator A simple widget for animating a set of images with full custom controls as an alternative to using a GIF file. If you have a G

AliYigitBireroglu 135 Jan 5, 2023
Custom menus anywhere!

Flutter Anywhere Menus (FAM) Menus, anywhere you want them! Default Usage Menu( child: MaterialButton( child: Text('Show Basic Menu'), ), me

Yan Min Hong 10 Dec 18, 2021