More specific criteria:

  • What will be shown in the video: In the video, I will make sure to show the input, program functionality, and the output. The input will be the inputting of user data, the functionality will be the authentication step through google, and the output will be the creating the user (if exists) and logging the user in.

  • Program purpose: My log-in is supposed to help users to quickly and easily manage user authentication on ETracker.

  • Program function: Use google authentication and JWT's to quickly authenticate and track signed-in users.

  • Data abstraction and managing complexity*: The list in this project would be the JSON list of users (and thier info) that have registered in the website. This is done to organize the user information in a orderly fashion.

    • How will the users data be stored in the list? There will be a conversion algorithm that converts the authenticated google user-obj (or manually inputted user data) into json format and then sent to a database for storage.

    • How will the list be used to fulfill the programs purpose? There will be a algorithms that iterates through the database (where the list is) and checks if the user (that wants to log-in) has inputted the correct info or not. Using the list helps decrease the authentication time as the algorithm only needs to run through the list instead of different files. Without the list, I would probably have assigned each user to a file in the backend.

  • Procedural abstraction: One procedure developed by me would be a conditional algorithm that takes in the users input as the param(in the sign-in form) and checks if the input matches a certain criteria. THe procedure will then be called right before creating the user and placing the user in the database.

  • Algorithm implementation: As discussed before, the program will have a iterative algorithm that iterates through the database to check for a user that exists (either to log the user into the website or prevent a recreation of an existing user)

Preventing plagiarism

Collegeboard is strictly against the use of any media or program that is not created by the CPT submitter (without giving the proper credit to the creator)

So far, I need to give credit to googles authentication api code. Other than that, I don't have any other needed citations.

Must do's:

I will make sure to create a schedule/calendar that will allow me to upload the CPT before the deadline. This will keep me from procrastinating and will organize my CPT journey.

Add comments to help clarify the function of my code. I can also use comments to give credit to the code authors (if needed)

I will make sure to ask clarification questions on collegeboard prompts and dedicate time outside of the designated class time.

How I will make sure to prepare for this:

I have already gained a decent bit of experience through the lessons in class. I will, however, do some personal research in JSON web tokens and google authentication in-order to further accelerate my project. I will focus on getting the easy parts done first and then leaving the hard parts in the end.