Table of Contents

Back End (or data pathways)

QueueMeIn doesn’t have a traditional backend. The only true backend components are the firebase functions and firebase database. Understanding how these are incorporated into the project along with the other technologies for passing data helps provide the background for the structure of the project. Some of these topics are not necessarily the backend, but instead how the backend is incorporated into the frontend.

Database

We use a firebase nonrelational database, which means the data is stored in documents that do not fit into columns and rows, but rather can be understood similar to javascript “objects” or JSON serialized data. For example, a product update post is structured as follows:

Untitled

It is an object with a key, three string elements, one array of strings, and a timestamp.

I will use the typescript types to explicate the data stored in each document in a collection, because they provide a concise way to explicate the collections. Types are stored in src/components/types/fireData.d.ts, where we define for data we are importing from firebase the structure and types.

Untitled

Admins

Admins stores the emails of all users who are admins. When a user tries to access the /admin page, a firehook checks if the user’s email is in this collection.

BlogPosts

BlogPosts stores the product updates as entered in queueme.in/blog

Untitled

Courses