The web pages provided by our web app
Renders the account page. If the user is signed in, it'll render the page. Otherwise, it'll redirect to the homepage
(firebase-admin)
Firebase admin instance
(express)
Our instance of Express.js
Retrieves the course categories and renders the page for a user to add a tag. If not signed in, redirects to the homepage.
(firebase-admin)
Firebase admin instance
(express)
Our instance of Express.js
Retrieves the User's tags and renders the page for a user to add a task. If not signed in, redirects to the homepage.
(firebase-admin)
Firebase admin instance
(express)
Our instance of Express.js
Deletes a user's account If not signed in, redirects to the homepage.
(firebase-admin)
Firebase admin instance
(express)
Our instance of Express.js
Retrieves data and renders page to edit a tag. If not signed in, redirects to the homepage.
(firebase-admin)
Firebase admin instance
(express)
Our instance of Express.js
Retrieves the data for a task and renders the page for a user to edit a task. If task ID is not specified in the query, redirects to the view tasks page. If they're not signed in, redirects to the homepage
(firebase-admin)
Firebase admin instance
(express)
Our instance of Express.js
Renders the freetime page. If they're not signed in, redirects to the homepage
(firebase-admin)
Firebase admin instance
(express)
Our instance of Express.js
Handles the regular pages of the site for express
(express)
Our instance of Express.js
(firebase-admin)
Firebase admin instance
Renders the login page If they're signed in, redirects to the homepage
(firebase-admin)
Firebase admin instance
(express)
Our instance of Express.js
Deletes the session cookie and redirects the user to the homepage
(firebase-admin)
Firebase admin instance
(express)
Our instance of Express.js
Renders the week picker. If they're not signed in, redirects to the homepage
(firebase-admin)
Firebase admin instance
(express)
Our instance of Express.js
Renders the registration page. If they're signed in, redirects to the homepage
(firebase-admin)
Firebase admin instance
(express)
Our instance of Express.js
Renders the password reset page
(firebase-admin)
Firebase admin instance
(express)
Our instance of Express.js
Completes the sign-in after Firebase auth grants a login token
(firebase-admin)
Firebase admin instance
(express)
Our instance of Express.js
Renders the view tasks page. Query parameter specifies the sort type. If they're not signed in, redirects to the homepage
(firebase-admin)
(express)
Our instance of Express.js
The API calls provided by our web app
Post request to add a custom tag to the database. If they're not signed in, returns "Unauthorized"
(firebase-admin)
Firebase admin instance
(express)
Our router instance of Express.js
Post request to add addFreetime to the database. If they're not signed in, returns "Unauthorized"
(firebase-admin)
Firebase admin instance
(express)
Our router instance of Express.js
Post request to add a tag to a task to the database. If they're not signed in, returns "Unauthorized"
(firebase-admin)
Firebase admin instance
(express)
Our router instance of Express.js
Post request to add a task to the database. If they're not signed in, returns "Unauthorized"
(firebase-admin)
Firebase admin instance
(express)
Our router instance of Express.js
Post request to edit a tag in the database. If they're not signed in, returns "Unauthorized"
(firebase-admin)
Firebase admin instance
(express)
Our router instance of Express.js
Retrieve the course categories from the database. If they're not signed in, returns "Unauthorized"
(firebase-admin)
Firebase admin instance
(express)
Our router instance of Express.js
Retrive data about a course by name. If they're not signed in, returns "Unauthorized"
(firebase-admin)
Firebase admin instance
(express)
Our router instance of Express.js
Retrive courses that belong to a specific category. If they're not signed in, returns "Unauthorized"
(firebase-admin)
Firebase admin instance
(express)
Our router instance of Express.js
Retrieve a User's Tag Data by ID. If they're not signed in, returns "Unauthorized"
(firebase-admin)
Firebase admin instance
(express)
Our router instance of Express.js
Retrieve the database path to a User's tag. If they're not signed in, returns "Unauthorized"
(firebase-admin)
Firebase admin instance
(express)
Our router instance of Express.js
Retrive all of a user's tags. If they're not signed in, returns "Unauthorized"
(firebase-admin)
Firebase admin instance
(express)
Our router instance of Express.js
Retrieve a task's ID by task name. If they're not signed in, returns "Unauthorized"
(firebase-admin)
Firebase admin instance
(express)
Our router instance of Express.js
Retrive all of a user's tasks If they're not signed in, returns "Unauthorized"
(firebase-admin)
Firebase admin instance
(express)
Our router instance of Express.js
Edit a task in the database. If they're not signed in, returns "Unauthorized"
(firebase-admin)
Firebase admin instance
(express)
Our router instance of Express.js
The background Firebase Cloud Functions
Cloud function that handles adding a user to the database when a user account is created
Cloud function that handles adding extra user info to an account after it's created
Handles the deletion of user data upon Firebase Auth User Deletion
(Promise<User>)
The object for the user that was deleted
The base express.js app for handling our web requests
Other Misc functions used in the application
Retrieves the edit link for a task based on its name
Sorts the tasks into arrays based on tag name
(any)
(any)
Sorts the tasks into arrays based on priority
(any)
(any)
Retreives the user's tasks from Firestore Cloud Database
(firebase-admin)
Firebase admin instance
(any)
(any)
Retrieves tasks and sorts by due date
(firebase-admin)
Firebase admin instance
(any)
(any)
Delete a Firestore Collection and the documents belonging to it
(firebase-admin.db)
Firestore Cloud Database instance
(string)
Path to collection for deletion
(int)
Limit of how many documents to delete in each go
Delete documents in a collection en masse.
(firebase-admin.db)
Firestore Cloud Database instance
(any)
Firestore Query Object
(any)