Skip to content

KaindlJulian/appointments-pwa

Repository files navigation

Appointments PWA Build Status Depfu

Serverless Angular PWA using some Firebase features and Google APIs

Website: https://appointments-pwa.firebaseapp.com

System

system-architecture

Firebase

  • Email/Password
  • Google
  • Data structure
  appointments/{appointmentId}: {
      title,
      body,
      date,
      author: {name, email, photoURL},
      attendees: [{name, email, photoURL}, ...]
  },
  users/{uid}: {
      name, 
      email, 
      photoURL
  }

One function to send Push Notifications. (src)

  • Listens for created appointments in Firestore (onCreate trigger)
  • Reads all attendees of the appointment that are actual users (not google contacts)
  • Sends a Notification to the users via their fcmToken and the client side angular service will do the rest

fcmSteps

🔥 Hosting

Deploying the build with firebase deploy or from travis

Google APIs

The Google login with their api client includes scopes for following Google APIs

  • People API (/contacts/readonly)
  • Google Calendar API (/auth/calendar)

Getting started

Clone the repository

git clone https://github.com/KaindlJulian/appointments-pwa.git

Install dependencies

npm install

Development server

ng serve --open