Travlr Getaways
rebuilt, enhanced, documented.
A MEAN-stack trip booking platform, taken from a course project to a production-shaped application: a standalone Angular admin SPA, client-side search and sort across trip data, and a MongoDB reviews layer with an aggregation pipeline. This portfolio walks through what changed, why, and what it proves.
Professional Self-Assessment
Completing the Computer Science program at Southern New Hampshire University has been a steady process of turning classroom concepts into work I can actually stand behind. The capstone pulled that process into focus. Building and enhancing the Travlr Getaways application forced me to look back at code I wrote early in the program and ask a harder question than “does it work?” I had to ask “would I be comfortable putting my name on this in front of an employer?” That question shaped every decision in this ePortfolio, and it shaped how I think about my own growth as a developer.
Collaborating in a team environment
My strongest experience working as part of a team came from my role as a Software Developer Intern at Godman Guild Association. I worked alongside technical staff and non-technical staff who depended on the systems I was testing and documenting. I ran functional testing on internal systems, tracked down the root cause of hardware and workstation issues, and documented every step so the next person, technical or not, could follow what I did and why. That role taught me that good collaboration is not just writing code other developers can read. It is writing documentation and explanations that a non-technical coworker can use without needing to call you first. I carried that same instinct into the capstone, where my code comments and the code review walkthrough were written with a mixed audience in mind, not just other engineers.
Communicating with stakeholders
Throughout the program, I learned that a technical decision is only as good as your ability to explain it to someone who was not in the room when you made it. In CS 255, System Analysis and Design, I built a full set of UML diagrams for a fictional client, DriverPass, and then presented that design directly to a stakeholder audience. That experience is where I first had to translate a system I understood completely in my head into language and visuals that someone outside the project could follow. The capstone built on that skill directly. Each enhancement narrative in this ePortfolio explains not just what changed in the Travlr Getaways code, but why the change mattered, written so a hiring manager without a development background could still follow the reasoning.
Data structures and algorithms
CS 260, Data Structures and Algorithms, gave me the foundation for thinking about efficiency before I write a single line of code, not after. That foundation showed up directly in my capstone enhancement to the Travlr Getaways trip listings. The original version had no way for a user to narrow down results. I added client-side search, filtering, and sorting, and I had to think through the time complexity of each approach before choosing one, since the goal was a fast, responsive interface without adding a server round trip for every interaction. I also worked through reinforcement learning algorithms in CS 370, including a deep Q-learning model for a pathfinding problem, which pushed my comfort with algorithmic thinking well past basic sorting and searching into more adaptive, decision-driven logic.
Software engineering and databases
My software engineering skills grew the most through hands-on rebuilding rather than theory alone. In CS 465, Full Stack Development, I built Travlr Getaways from the ground up as a MEAN stack application. For the capstone, I went back into that same codebase and rebuilt the admin interface using Angular 19 standalone components, replacing an older module-based structure with one that is easier to maintain and extend. On the database side, I designed and added an embedded reviews system in MongoDB, including an aggregation pipeline to calculate and surface average ratings per trip. That enhancement took me from simply using a database to actually designing how data should be modeled and queried for a real feature, not just stored.
Security
Security became something I think about by default rather than something I bolt on at the end. In CS 305, Software Security, I implemented SSL and SHA-256 hashing in a Spring Boot application and ran OWASP dependency checks to catch known vulnerabilities before they became real problems. That mindset carried directly into the capstone. The Travlr Getaways authentication system uses JWT tokens with bcrypt password hashing, and every new endpoint I added during the database enhancement includes input validation at multiple layers, not just at the form level. I see security as a design requirement that belongs in the first draft of a system, not a patch applied after something goes wrong.
How the artifacts fit together
This ePortfolio uses a single artifact, Travlr Getaways, enhanced across all three required categories. I chose that approach on purpose. Rather than show three disconnected projects, I wanted to show how one real application can grow when it is approached with a software design mindset, an algorithms mindset, and a data mindset, one after another, the same way a real production system actually evolves over time. The Software Design and Engineering enhancement modernized the application’s structure and authentication. The Algorithms and Data Structures enhancement made the application faster and more usable for an end user. The Databases enhancement gave the application a feature, reviews and ratings, that did not exist before and that depended on querying and modeling data correctly. Together, the three enhancements tell one continuous story about taking an existing system and making deliberate, defensible improvements to it, which is the same work I expect to be doing as a software engineer.
The sections that follow walk through each enhancement in detail, alongside the original code, the enhanced code, and the reasoning behind each change.
Code Review Walkthrough
A screencast covering the original Travlr Getaways codebase: existing functionality, a code analysis of structure, security, and testing gaps, and the planned enhancements mapped to course outcomes.
Angular Standalone SPA Migration
What it was
The original CS 465 build used an NgModule-based Angular admin panel with tightly coupled trip components and no clear separation between presentational and container logic.
What changed
Migrated to Angular 19 standalone components, restructured the admin panel into trip-card, trip-detail, and trip-listing components, and implemented JWT authentication with bcrypt password hashing across the API layer.
Client-Side Search, Filter & Sort
What it was
Trip listings rendered as a static, unfiltered array with no way for a user to narrow results beyond scrolling the full list.
What changed
Added in-memory search, multi-field filtering, and comparator-based sorting over the trip data structure, evaluated for time complexity against dataset size to keep interactions responsive without a server round-trip.
MongoDB Reviews & Aggregation Pipeline
What it was
Trips had no review or rating system — no schema, no endpoints, no way to surface customer feedback alongside a trip listing.
What changed
Designed an embedded reviews subdocument schema in MongoDB, built CRUD endpoints for review submission, and wrote an aggregation pipeline to compute and surface average ratings per trip.
Let's talk.
Computer Science, B.S. — Software Engineering concentration. Columbus, Ohio.