Skip to content

AjinkyaASK/the_places_app

Repository files navigation


The Places App

See places from all over the world. A simple app built with Flutter.

Key FeaturesHow To UseDownloadCreditsRelatedLicense

Key Features

  • The Places App is a simple application built with Flutter, that showcases different places from all over the world, lets you pick your favorites and see them later (in offline mode too!).
  • Dark/Light mode (Coming Soon)
  • Cross platform (Web, iOS, Android and Linux)

Screenshots

Note: Screenshots are somewhat outdated due to the recent changes in design. Getting udpated soon.

Screenshots Screenshots Screenshots Screenshots
Screenshots Screenshots
Screenshots
Screenshots
Screenshots Screenshots

Download the source code

You can download this repository and use it free for your own purposes.

Prerequisites

  • Flutter SDK: >2.0
  • Dart SDK: >2.12

How To Setup

  • Firebase Setup
  • Facebook Login Setup
  • [Make sure you have Flutter SDK >2.0 and Null Safety enabled]
  • [Download the dependencies and place your Firebase config files in place]
  • [Done]

Dependencies and Libraries

This software uses the following API and packages:

Asumptions and other details

  • Added some extra stuff as below
    • Interactive Fullscreen Image Viewer: Opens image in a interactive (zoom and pan gestures) image viewer
    • Profile Details Dialog: A popup dialog that display user's name, email and profie avatar with an option to signout
    • Details view that shows details of the page on a dedicated screen
    • Option to Sign in as a guest: Allows user to sign in without any identification, this has no limitation on features
    • Integrated a NoSQL local database (Hive) for storing user and favorite place details
  • The pictures for places are not actual ones and are taken from a randome pictures API (https://picsum.photos/) which returns random picture of given size everytime
  • These pictures are cached with a unique key, making a place to always have a specific image once cached
  • Favorite places feature uses Local Database only (the data stored is associated with the local device only and not the cloud)
  • Local database coded to be wiped out completely on sign out (making the favorite places to vanish)
  • App supports three ways of signing in, two social sign ins (using Google and Facebook) and and a Guest sign in.
  • 'Sign in as a Guest' option to allows user to sign in without any identification, this has no limitation on features
  • Instead of being in End Drawer, the 'Signout' option is placed in the profile details popup (I thought it is better suitable place for it)
  • The end drawer shows list of favorite places, each list tile is dismissable. (user can swipe it east-west to remove a place from favorites)
  • Home screen shows vertically stacked list of cards containing place details from API
  • Swiping west-east on a card marks it as favorite and removes it from the list, while swiping the other way just removes the card from stack
  • These cards need to swiped atleast ~80% off the screen to be considered for an event, if left before reaching the threshold, the card regains its position in the stack
  • Cards on home screen have two buttons (favorite and maps) as shown in the screenshots provided. Map button opens the location in google maps and favorite button marks the page as favorites and removes from the list
  • The views are designed considering only the portrait mode and touch enabled devices (not for pointer or keyboard driven devices)
  • The details screen has icon that shows in Pink color if place is a favorite
  • Details screen also has map and wiki button
  • Clicking on the picture on details screen opens the picture in interactive full screen preview

Credits

  • To Team Flutter
  • Google and Facebook for providing us with easy Sign In APIs
  • To all developers for creating the various usefull dependencies and libraries used in this project
  • The Hive Word API
  • Lorem Picsum API for their great free service
  • Github for the free Git platform

Support

Coming Soon

You may also like...

License

NA


GitHub @AjinkyaASK  ·  CodePen @ajinkya-karanjikar LinkedIn @ajinkyakaranjikar

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published