Overview
This project was built to practice creating a complete web application, moving from a static site to a full-stack app with a database and API. I started with a provided travel site template and then expanded it by connecting the pages to a database and adding an API layer.
The site showcases trip packages that were hypotheticalβcreated only for this projectβbut they served as a practical way to work with listings, details, and updates while learning how to manage data across the full stack.
Development Journey
The project started with a few static pages. From there, I added features one at a time until it worked like a real app:
Building in stages kept things clear and made testing easier at each step.
Architecture
[ Browser ]
ββ Public site (Express + Handlebars)
ββ Admin (Angular SPA) βββββββΊ [ REST API (Express) ] βββββββΊ [ MongoDB ]
Folders at a glance
travlr/
ββ app_server/ # Views/controllers (public site)
ββ app_api/ # API routes + models (trips)
ββ views/ # Handlebars templates
ββ public/ # Images, CSS
ββ app.js # App entry point
API Summary
Method | Path | Purpose |
---|---|---|
GET | /api/trips | List all trips |
GET | /api/trips/:id | Get one trip |
POST | /api/trips | Create a trip |
PUT | /api/trips/:id | Update a trip |
DELETE | /api/trips/:id | Delete a trip |