Giter VIP home page Giter VIP logo

appointment's Introduction

APPointment

An Android app that connects your customers with your business

Table of contents

Features

Contact business

The contact with the business was never been easier. Just choose one of the provided contact methods:

  • Calling
  • Navigation
  • Open Facebook page
  • Chat on Facebook Messenger
  • Open Instagram page

All operations handled by external apps through Intents

Customer profile

Let your customers create a profile and provide you with contact information.

Customer must first verify their email in order to proceed

Notifications

Customers will receive push notifications with FCM for important updates that you sent.

Business opening hours

Provide your opening hours to your customers.

(back to top)

Requirements

Project

To build the project you must provide:

  • a google-services.json file in the root project* folder. You can retrieve it from "Project Settings" at Firbase console

  • a .jks file in order to sign the release build

  • a keystore.properties file with the following structure:


storePassword = <Keystore password>

keyPassword = <Signing key password>

keyAlias = <Key alias>

storeFile = <Path to the .jks file>

Those fields corresponds to properties at module level build.gradle** file.

You need both .jks and keystore.properties files in order to sign the release build.

* Be sure to check the official Firebase documentation

** keystore.properties file's path should also be changed inside build.gradle if the file is not located at project's root

  • a fb_secrets.xml which will include the following strings:
<string  name="facebook_app_id_secret"  translatable="false">your_app_id</string>

<string  name="fb_login_protocol_scheme_secret"  translatable="false">fbyour_app_id</string>

<string  name="facebook_client_token_secret"  translatable="false">your_client_token</string>

Be sure to check the official Facebook Login Android documentation

  • a googleApi.properties file with the following structure:
webClientId = "<your_web_client_id>"

You can find your web client ID from Google API console, navigating to the "Credentials" tab. This key is needed for Google One Tap sign-in.

(back to top)

Firebase

Authentication

In order for the app to work without any modifications you must enable the following sign-in methods from Firebase console:

  • Email/Password

  • Google

  • Facebook*

* Facebook sign-in method must be enabled in order to link user's email or Google account with their Facebook one. It is not used for authentication.

Firestore

You must provide the following database structure to provide the businesses' opening hours and social information:

Structure

firestore {

	business_info {

		<business_name> {

			opening_hours: array {

				morning: map {

					from: string

					to: String

				}

				afternoon: map {

					from: string

					to: string

				}

				order: number

			}

			social_info: map {

				fbPageName: string

				fbPageUniqueName: string

				fb_page_id: string

				instagram_profile: string

				mapsCoordinates: string

				mapsName: string

				maps_query: string

				phone: string

			}

		}

	}

}

(back to top)

Fields description
Field Description
<business_name> Business name
opening_hours An array which holds the week's opening hours
morning A map that holds the morning opening hours. Set it to null if business is closed on morning hours.
afternoon A map that holds the morning opening hours. Set it to null if business is closed on afternoon hours.
from Opening hour
to Closing hour
order In which order it will appear
fbPageName Page's name
fbPageUniqueName Page's unique name to avoid conflicts
fb_page_id Page's id (you can take it from the url)
mapsCoordinates Latitude and Longitude (separated by ',')
mapsName Business name on Google Maps
maps_query What you would search on Google Maps to find the business tip: include area's location to avoid conflicts
phone Business' phone

(back to top)

Built with

Here is a brief summary of what technologies have been used for the app:

Credits

This software uses the following open source packages:

Companion app

The administration app is available on the APPointment Admin repo

(back to top)

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.