CPT Final Blog - Abdullah Khanani

What I Did

I worked on one main feature in this project. I worked on a review system for the users to write and submit reviews about any book they read out of 5. This review system required major frontend code and a bit of backend code. My feature would link the user (login made by anika) and let them write a review in a custom textbox. My blog will include my frontend and backend code, with brief descriptions of each

## Collegeboard Requirements

Collegeboard Requirements

CB Requirements Me
Instructions for input from one of the following: the user, a device, an online data stream, a file. Our project takes input from the user and sends it to the backend due to the usage of the books API we used.
Use of at least one list (or other collection type) to represent a collection of data that is stored and used to manage program complexity and help fulfill the user’s purpose. Our team used databases to store data for users and reviews. This will be stored in a database in our team’s backend portfolio.
At least one procedure that contributed to the program’s intended purpose where you have defined: the name, return type, one or more parameters. image.png
Calls to your student-developed procedure. I called to this project by using multiple files. I used favorites.js, reviewpage.md, and favreads.md to store all my code and connect it all to the frontend.
Instructions for output (tactile, audible, visual, or other) based on input and program functionality. Our team stored code in separate HTMLs.
Implementation of built-in or existing procedures or language structures, such as event handlers or main methods, are not considered student-developed. A prime instance of this is when I utilized the Fetch API in JavaScript to retrieve data from my form and update the backend. I also incorporated an event listener. While there are alternative approaches, such as <form action="your_action_url" method="POST">, I chose a different route. It was crucial to format the data in a specific way, as outlined in model.py (my teacher’s code). The Fetch API method appealed to me more because I needed to update “all the data” (as specified in the def update in the backend, prompting a resend of the data). This methodology was also employed in my prior full-stack project during this trimester. This was an experience to do as Arnav and Anika did the API work, yet I still had some input on the data. Most importantly, I learned a lot from the Fetch API process.
An algorithm that includes sequencing, selection, and iteration that is in the body of the selected procedure. Calls to your student-developed procedure/ Instructions for output (tactile, audible, visual, or textual) based on input. image-2.png

CPT

Our project was mainly based on an online library. This is for users to find or review books they have read, users can explore new genres, search up books, write reviews, and favorite their own books. These fetaures were split 4 ways, with me, Anika, Ameer, and Arnav having our own separate feautres.

Component B: Video

| Collegeboard Requirements | My Video | |——————————————————————|———————————————————————-| | Input to program | Seen in the video, entering a form for tracking data | | At least one aspect of the functionality of your program | The video showcases the graphs produced based on user data | | Output produced by program | Demonstrates data being saved and a graph produced for exercise/sleep | | My video does not have | Any distinguishing information and voice narration | | My video is | A .mp3, less than 1 minute in length, less than 30MB in file size |

Link=https://youtu.be/9e_Bp0vBIpc

Future Plans

In the next trimester, I’m shifting my focus to backend development after spending time exploring the frontend. I want to dive deeper into the technical aspects of server-side logic, databases, and system architecture. This move aims to enhance my skills and understanding of creating the backbone of web applications. I plan to work on mastering server-side scripting languages like Python or Node.js, along with frameworks such as Django or Express.js. By concentrating on the backend, I aim to improve my ability to build efficient and scalable systems, addressing challenges related to data management and application performance. Additionally, I’m looking forward to gaining practical knowledge in optimizing database performance, ensuring data security, and implementing effective API strategies. This strategic shift is geared towards developing a well-rounded skill set that complements my previous experience in frontend development, ultimately contributing to the creation of robust and effective web applications.