HASSAN ALSHEHARI

Back-end Developer

Front-end Developer

Programmer

HASSAN ALSHEHARI
HASSAN ALSHEHARI
HASSAN ALSHEHARI
HASSAN ALSHEHARI

Back-end Developer

Front-end Developer

Programmer

Skyline Travel

  • Backend: NodeJS
  • Frontend: NextJS
  • Database: MySQL

I built a robust back-end on Node.js with MySQL at its core, modeling everything from tour packages, car rentals, and apartment listings to user accounts, bookings, and dynamic blog content. Each domain gets its own set of well-normalized tables—think tours, vehicles, accommodations, users, bookings, and posts—with foreign-key constraints to keep data consistent and indexed fields for lightning-fast searches. Express.js routes power RESTful endpoints for searching by date range, destination, vehicle type or price, making bookings, and managing user profiles; validation via Joi ensures only sane requests hit the database, and rate-limiting on critical endpoints keeps the site safe under load.

On the front end, Next.js delivers a seamless, SEO-friendly user experience in both Arabic and English (with automatic currency toggles). Key pages—homepage hero search, tours carousel, vehicle gallery, “find your stay” section, and blog listings—are server-side rendered for instant first paint and populated via our private APIs. Client-side hydration kicks in for interactive filters, date-picker widgets, and “book now” flows, while Next/Image handles automatic image optimization and lazy loading to save bandwidth on mobile. I set up Incremental Static Regeneration for the blog, so new travel tips and destination guides go live almost instantly without a full redeploy. Finally, a Git-triggered CI/CD pipeline runs linting, tests, and zero-downtime deploys, ensuring that when you press “push,” travelers never see a “site down” banner.