The Travlr Getaways project used different frontend models. The site for the customers is rendered on the server side with Express using Handlebars templates, which generate the HTML on the server and send it to the browser as complete pages. The admin side, on the other hand, was built as a single-page application using Angular. Using the server rendered handlebars approach the browser reload on every link and action. Although it's simpler and everything is in one place, it makes the application feel slightly slower. The admin side uses an SPA, which makes Angular load one time. After that, any action or data update happens on the client side using the router and HTTP calls to the API. The backend used a NoSQL database, MongoDB, because MongoDB stores documents as BSON, which maps directly onto JavaScript objects. It also keeps the entire pipeline in JavaScript. Although JSON is derived from JavaScript object literals, they are fundamentally different. JSON is a data format, while JavaScript is an actual programming language. JSON is just plain text. Since every layer of the application can parse JSON, it acts as the communication bridge between the frontend and backend, allowing independent pieces to interact. It is imperative to ensure that code is refactored and reusable. This makes the application easier to scale and build, and makes it faster and simpler. One way I refactored was moving all the shared logic into services, so the components weren't each duplicating HTTP calls. By breaking the trip display into reusable Angular components, I was also able to use the same components across different views. For this application, the methods are GET to retrieve data, POST to create data, PUT to update data, and DELETE to remove data. Each of these methods has an endpoint, which is the API URL that maps to a route handler and returns a JSON response. When testing endpoint pairings, GET returns the data with a 200, POST creates a record and returns a 201, wrong input produces a 400, 401 for unauthorized, and a missing resource returns a 404. I used Postman to test the endpoints directly against the backend. Every application needs a layer of security for its users. The endpoints require authentication, which means users must be logged in with the correct credentials. The application uses a JWT, which is obtained at login and sent in the Authorization header. If there is no valid token, the endpoint rejects the request. Testing has to include obtaining a token, attaching it, verifying it is valid, and confirming that access is granted with a valid token and refused with an invalid one. This course has helped me reach my professional goals by guiding me through the process of building a full stack application, including the frontend, backend, and security. I am more confident in my coding and debugging skills, especially when it comes to network-related issues. This course has helped me reach my professional goals by guiding me through the process of building a full stack application, including the frontend, backend, and security. I am more confident in my coding and debugging skills, especially when it comes to network-related issues. I also learned how to implement a full login system using JWT authentication. My goal in the next year is to become a software engineer or something similar, so this course aligns with the skillset I need.