A modern, responsive website design and maintenance by Mashal Huraira for a professional moving and packing company operating across the United Arab Emirates. Built with Next.js 16, React 19, TypeScript, and Tailwind CSS.
- Residential Moving: House, villa, apartment, and flat shifting
- Commercial Moving: Office relocation, warehouse, retail space moves
- Specialty Services: Furniture moving, packing, storage, single item delivery
- Location-Based Pages: Dedicated service pages for all major UAE emirates
- β Dynamic Quote System - Real-time quotation requests with email notifications
- β Email Integration - Resend-powered email templates for customer inquiries
- β SEO Optimized - Meta tags, structured data, and performance optimizations
- β Responsive Design - Perfect on mobile, tablet, and desktop
- β FAQ Section - Comprehensive Q&A for customer support
- β Customer Reviews - Showcase testimonials and ratings
- β Contact Integration - Twilio-ready for SMS/call notifications
- Beautiful, professional design with smooth animations
- Dark mode support with
next-themes - Component-based architecture with shadcn/ui
- Custom carousel functionality (Embla Carousel)
- Toast notifications with Sonner
- Accessible form inputs and interactive elements
- Next.js 16 - React framework with App Router
- React 19 - UI library
- TypeScript - Type safety
- Tailwind CSS 4 - Utility-first CSS framework
- shadcn/ui - Reusable component library
- Lucide React - Icon library
- Embla Carousel - Touch-enabled carousel
- Resend - Email service for quote requests
- React Email - HTML email templates
- Twilio - SMS/telephony integration (optional)
- Sonner - Toast notifications
- ESLint - Code linting
- Next.js ESLint Config - Next.js-specific linting rules
- PostCSS - CSS processing
- Node.js 18.17 or later
- pnpm (recommended) or npm/yarn
git clone https://github.com/yourusername/movers-and-packers-uae.git
cd movers-and-packers-uaepnpm install
# or
npm installCreate a .env.local file in the root directory:
# Email Service (Resend)
RESEND_API_KEY=your_resend_api_key_here
# Twilio (Optional - for SMS/calls)
TWILIO_ACCOUNT_SID=your_twilio_sid
TWILIO_AUTH_TOKEN=your_twilio_token
TWILIO_PHONE_NUMBER=+1234567890Get your API keys:
- Resend API Key: https://resend.com/
- Twilio Credentials: https://www.twilio.com/
pnpm dev
# or
npm run devOpen http://localhost:3000 in your browser.
# Development server with hot reload
pnpm dev
# Build for production
pnpm build
# Start production server
pnpm start
# Run ESLint
pnpm lintβββ app/
β βββ (locations)/ # Location-specific pages (Sharjah, Abu Dhabi, etc.)
β βββ (services)/ # Service-specific pages (Office, Villa, etc.)
β βββ about-us/ # About page
β βββ get-quote/ # Quote request page
β βββ layout.tsx # Root layout
β βββ page.tsx # Homepage
β βββ globals.css # Global styles
β
βββ components/
β βββ ui/ # shadcn/ui components (button, carousel, etc.)
β βββ layout/
β β βββ Header.tsx # Navigation header
β β βββ Footer.tsx # Footer component
β βββ Commerical.tsx # Commercial services section
β βββ CTA.tsx # Call-to-action component
β βββ EmailTemplate.tsx # Email template for quotes
β βββ FaqsSection.tsx # FAQ section
β βββ LocHeroSection.tsx # Hero section for location pages
β βββ MovingProcess.tsx # Process flow component
β βββ QuotationSection.tsx # Quotation CTA section
β βββ QuoteForm.tsx # Quote request form
β βββ ReviewSection.tsx # Customer testimonials
β βββ ServiceHero.tsx # Hero for service pages
β
βββ lib/
β βββ data.ts # Services, locations, features data
β βββ FaqsData.tsx # FAQ content
β βββ sendMail.ts # Email sending logic (Server Action)
β βββ utils.ts # Utility functions
β βββ MetaDataTemplate.ts # SEO metadata generator
β
βββ public/
β βββ logo.svg # Brand logo
β βββ ava/ # Avatar images
β βββ loc/ # Location-based images
β βββ ser/ # Service images
β
βββ next.config.ts # Next.js configuration
βββ tsconfig.json # TypeScript configuration
βββ tailwind.config.ts # Tailwind CSS configuration
βββ postcss.config.mjs # PostCSS configuration
βββ package.json # Dependencies & scripts
- Form validation and error handling
- Real-time field updates
- Email submission via Server Action
- Toast notifications for success/error
- Professional HTML email design
- Responsive layout (mobile-optimized)
- Brand-consistent styling
- Direct call button for customer contact
- Visual representation of 4-step moving process
- Smooth animations and transitions
- Mobile-responsive grid layout
- Customer testimonial carousel
- Auto-playing with manual controls
- Star ratings display
- Avatar images
The SendMail Server Action handles quote requests:
// Usage in components
const response = await SendMail({ data: formData });
if (response.success) {
// Show success toast
} else {
// Show error toast
}Email Template Features:
- Brand header with logo
- Customer contact details
- Moving route visualization
- Conditional message display
- Direct call button (tel: link)
- Professional footer
- Primary:
#c10007(Brand red) - Secondary:
#222a35(Dark grey) - Text:
#666666(Medium grey) - Background:
#f5f5f5(Light grey) - White:
#ffffff
- Heading Font: System fonts (font-weight: 600-700)
- Body Font: Helvetica Neue, Arial (font-size: 14-15px)
- Mobile: 24px padding
- Desktop: 40px padding
- Consistent gap sizes: 8px, 16px, 24px, 32px
- β Dynamic meta tags for each page
- β Open Graph and Twitter cards
- β Structured data for services and locations
- β Image optimization with Next.js Image component
- β Lazy loading for below-the-fold content
- β Mobile-first responsive design
- β Fast page load times (Vercel optimized)
Custom configuration with:
- Responsive breakpoints
- Extended color palette
- Animation utilities
- Custom spacing scale
- App Router for modern routing
- Server Components by default
- Optimized font loading
- Image optimization
- Mobile: < 640px
- Tablet: 640px - 1024px
- Desktop: > 1024px
All components tested and optimized for all screen sizes.
Contributions are welcome! Here's how to get started:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- Follow the existing code style
- Use TypeScript for type safety
- Write meaningful commit messages
- Test responsive design on multiple devices
This project is licensed under the MIT License β see the LICENSE file for details.
Email: movers.and.packers.uae91@gmail.com
Website: https://moversandpackersinuae.vercel.app
Issues & Feedback: GitHub Issues
- Built with Next.js
- UI Components from shadcn/ui
- Icons by Lucide React
- Email service by Resend
- Deployed on Vercel
Made with β€οΈ for seamless moving experiences across the UAE
β If you find this project helpful, please consider giving it a star!