Frontend Development
Built and enhanced customer and administrative interfaces, including the Angular single-page application.
Engineering Case Study
A production-style MEAN application combining an Angular administration interface, Express REST API, MongoDB data layer, secure authentication, and cloud deployment.
Overview
Travlr Getaways began as a full-stack development project during CS-465 at Southern New Hampshire University. The original application introduced the MEAN stack through a customer-facing travel site, Angular administrative interface, REST API, and MongoDB database.
I later expanded the application during my CS-499 capstone and continued developing it as a standalone portfolio project. The enhanced version improves application architecture, data handling, authentication, maintainability, deployment, and the overall user experience.
The Problem
The application needed to support both travelers browsing available trips and administrators responsible for managing the underlying travel data.
That required separating the customer experience from administrative functionality while maintaining a shared backend, consistent data model, and secure access to protected operations.
My Role
I worked across the application stack, from frontend interfaces and API design to database architecture, authentication, deployment, and ongoing enhancements.
Built and enhanced customer and administrative interfaces, including the Angular single-page application.
Designed RESTful endpoints and application logic supporting trip management and client-server communication.
Developed MongoDB and Mongoose models supporting application data, validation, relationships, and efficient retrieval.
Deployed the application using Azure services, MongoDB Atlas, custom domains, and automated GitHub Actions workflows.
Architecture
The application uses a layered architecture that keeps client interfaces independent from backend services and database access.
Frontend
Administrative interface and client-side services.
Application Layer
REST API, controllers, authentication, and business logic.
Data Layer
Persistent application data managed through Mongoose.
Infrastructure
Cloud hosting, custom domains, HTTPS, and automated delivery.
Engineering Decisions
Client applications communicate through an Express REST API instead of interacting directly with the database, separating presentation from business and persistence logic.
Administrative functionality uses token-based authentication to protect privileged operations and restrict access to management functionality.
Search, filtering, sorting, and pagination logic was moved to backend services so multiple clients could consume consistently processed results.
The project was moved beyond a local development environment through Azure hosting, MongoDB Atlas, custom domains, and automated deployment workflows.
Beyond the Original Project
The original CS-465 project established the core MEAN architecture. Later enhancements focused on making the application more complete, secure, maintainable, and representative of modern software engineering practices.
Challenges & Lessons
Changes to the database often required coordinated changes to API contracts, application models, frontend components, validation, and testing.
Protecting administrative functionality reinforced the need to consider security at both the client and server layers rather than treating it as a frontend concern.
Moving from local development to cloud hosting introduced configuration, environment, DNS, TLS, and deployment concerns that do not appear during local development.
Revisiting an existing application demonstrated how software can be progressively improved rather than completely rewritten whenever requirements evolve.
Technology
Explore the Project
Explore the deployed application, administrative interface, or source repository to see the project in more detail.