Skip to content

Latest commit

 

History

History
 
 

docs

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Documentation

Kara's Coffee is a demo application built using a collection of technologies - most importantly Firebase!

These docs explain how the main aspects of the application integrate with Firebase, including Firebase Extensions.


Building the application

Building the application

Although the application as a whole demonstrates an e-commerce website, there are also individual aspects of it described in more detail throughout these docs:


Technologies

️‍🔥  Firebase


  • onAuthCreate

    • This function adds a new document to the mail collection on new user creation - this collection is listened to by the Firestore Send Email extension and sends a welcome email to the new user.
      • These emails are not actually processed on the hosted live demo website.
  • onPaymentCreated

    • This function triggers when a new customer payment has been created and sends an initial order update SMS to the user (if they've set up a phone number on their account - entering a user phone number is disabled on the hosted live demo website) via the Twilio Send Message extension by writing to the messages collection on Cloud Firestore.

      ⚠️ Twilio integration is currently disabled for purposes of the demo. To see information on how Twilio works, you can visit their docs.

  • deleteUserData

    • This scheduled function deletes all user data every 24 hours - it is useful only for the purpose of this demo.


Other

  • 💳  Stripe Checkout
    • Client library for handling checkout payments.
  • 📦  ShipEngine
    • ShipEngine’s APIs help brands, ecommerce platforms, 3PLs and others save time and money on shipping.
  • 🔍  Algolia Search
    • Enables developers to build next generation apps with composable APIs.
  • ⚛️  React
    • A JavaScript library for building user interfaces.
  • ⚡️  Vite
    • Vite is a build tool that aims to provide a faster and leaner development experience for modern web projects.