PROJECT 03 / 05
An admin-driven tour booking platform built to serve a growing travel community, with real-time package updates and Firebase-backed authentication.
Tourism is one of the biggest sectors of the economy, and this project set out to make discovering and booking tours simpler for a growing travel community both inside and outside the country. Admins can add new tour packages through a dedicated dashboard, and every package is saved to the server and reflected on the live site immediately — no manual redeploys, no stale listings.
The client is built in React and talks to a Node/Express server backed by MongoDB. Visitors can browse tour packages, leave feedback on trips they've taken, and sign in with Google via Firebase Authentication rather than filling out a traditional signup form. The admin side of the app manages package creation and updates in real time.
Keeping the admin-added tour data reliably in sync between the client, the Express server, and MongoDB — without any listing lagging behind or disappearing — took careful thought around how writes and reads were structured. Layering Google Sign-In through Firebase on top of the existing user flow also meant reconciling two different identity sources cleanly, and validating incoming feedback submissions so the review section stayed genuinely useful rather than noisy.
Next on the list: an actual booking and payment flow instead of static package browsing, an analytics view for admins to see which tours are performing best, a proper image upload pipeline for package photos, and lightweight moderation on user reviews before they go live.