Welcome to the repository for Golobe Travel Serviceโs website, your go-to platform for exploring and booking your next travel adventure. This intuitive web interface allows users to search for flights and accommodations effortlessly.
A full-stack nextjs project to practice and showcase the work. The UI design was taken from Figma community.
Here is the live preview of this website golob-travel-agency.vercel.app
- Profile management: update personal details, change password, manage multiple emails and phone numbers
- User settings: account, security, appearance, and payment preferences
- Multi-city and round-trip booking support
- Real-time flight pricing calculations
- Flight details page with schedule, baggage, and seat info
- Flight booking with step-by-step process
- Save favorite flights
- View and manage flight bookings (upcoming, past, all)
- Download flight tickets/invoices
- Hotel search with filters (destination, date, guests, rooms)
- Hotel details page with amenities, map, reviews, and room types
- Book hotels with guest info and room selection
- View and manage hotel bookings (upcoming, past, all)
- Download hotel invoices
- Save favorite hotels
- Recent hotel search history for logged-in users
- Stripe integration for secure payments (flights & hotels)
- Support for saving payment methods (cards)
- Payment status tracking (pending, confirmed, failed)
- Downloadable receipts/invoices for bookings
- Leave and view reviews for both flights and hotels
- Verified user review system
- Average rating calculation and display
- Review management (one review per booking per user)
- Responsive design for desktop and mobile
- Modern, intuitive booking process with stepper UI
- Loading skeletons and parallel route loading for fast UX
- Timezone detection for accurate scheduling
- Search history tracking (for hotels)
- Accessible navigation and sidebar
- Booking history for flights and hotels
- Saved payment methods and card management
- Downloadable receipts and invoices
- Profile and settings management
- Maintenance mode (full/partial) with customizable message and allowlisted routes
- Feature toggles for enabling/disabling flight and hotel booking
- Website configuration management (admin only)
- Next.js App Router with server components and server actions
- MongoDB integration with custom ORM-like functions
- Server-side rendering and caching
- Dynamic OG image generation for avatars
- Email notifications (booking confirmations, receipts, reminders)
- Data validation with Zod schemas
- Redux for client-side state management
- Limited payment gateway integration (currently only supports test mode)
- No real-time flight availability checking
- Basic hotel booking functionality (room selection not implemented)
- No advanced user analytics or search history tracking
- Limited error handling for edge cases in flight search
- No multi-language support implemented
- No social media login options (only email/password authentication)
- Limited mobile optimization for some complex components
- No offline functionality or caching of search results
- Basic flight review system without advanced filtering
- No flight price alert or tracking system
- Limited airline partnership integrations
- No advanced filtering options for flight results
- No support for flight booking modifications
- Basic user profile management features
- No integration with travel insurance providers
- Limited accessibility features for differently-abled users
- No group booking functionality
- No loyalty program or rewards system
-
Clone the repository
git clone https://github.com/mojahidhasan/fullstack-nextjs-golobe-travel-agency.git cd fullstack-nextjs-golobe-travel-agency
-
Run the setup script
npm run setup
This interactive script will help you configure all environment variables.
-
Install dependencies
npm install
-
Start the development server
npm run dev
-
Generate sample data
# Generate flights data curl -X POST http://localhost:3000/api/generate/flights/upload_db -H "Authorization: Bearer YOUR_API_SECRET_TOKEN" # Generate hotels data curl -X POST http://localhost:3000/api/generate/hotels/upload_db -H "Authorization: Bearer YOUR_API_SECRET_TOKEN" # Generate website config curl -X POST http://localhost:3000/api/generate/website_config -H "Authorization: Bearer YOUR_API_SECRET_TOKEN"
For detailed step-by-step instructions, please refer to our comprehensive Getting Started Guide.
- Getting Started Guide - Complete setup and configuration guide
- Features - Overview of project features
- Technologies - Tech stack information
- Limitations - Current project limitations
- TODO - Planned features and improvements
- Integrate real flight API to replace mock data (High Priority)
- Implement real hotel API to replace mock data
- Implement profile management:
- Password updates
- Contact information changes
- Personal detail modifications
- Implement dark mode toggle
- Migrate codebase to TypeScript
- Implement comprehensive test suite:
- Unit tests
- Integration tests
- E2E testing
- Add email notification system for:
- Booking confirmations
- Payment receipts
- Travel reminders
- Develop loyalty/rewards program
- Implement price alert system
- Add multi-language support
- Create admin dashboard for content management
- Adding websocket for real-time updates
Note: Several smaller enhancements and bug fixes are also planned for optimal user experience.