Coder Social home page Coder Social logo

harsh159357 / contacts Goto Github PK

View Code? Open in Web Editor NEW
118.0 13.0 37.0 3.83 MB

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

License: Apache License 2.0

PHP 12.70% Kotlin 0.07% Swift 0.22% Objective-C 0.02% Dart 85.94% Shell 0.30% Ruby 0.75%
android php ios flutter maps place-search hostinger sample-app sql web-services

contacts's Introduction

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

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.

contacts's People

Contributors

harsh159357 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

contacts's Issues

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 []}

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

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 ?

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

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.