Discover your perfect weekend getaway based on budget, mood, and preferences.
- Filter trips by budget, type, and duration
- Multi-select mood filters (peaceful, active, cultural, scenic, relaxing)
- Responsive card-based layout
- Detailed trip pages with highlights and pricing
- Keyboard accessible with ARIA labels
- Mobile-friendly design
- 404 error handling
- Combined state pattern for related filters (budget, type, duration, moods)
- Props drilling for component communication
- Derived state for filtered results
- React Router for URL-based navigation
- Mock data with 3 sample UK trips
- Client-side filtering logic
- Static trip information (images, highlights, pricing)
- Trip filtering system
- Navigation with React Router
- Detail pages
- Responsive design
- Accessibility features
- Deployed to Vercel
- Google Places API integration
- Real location data and photos
- Live ratings and reviews
- Distance calculations
- Expanded trip database
- Search by location
- Claude AI integration for itinerary generation
- Personalized recommendations based on preferences
- Day-by-day trip planning
- Natural language trip descriptions
- Favorites/wishlist (localStorage)
- User accounts and authentication
- Booking history
- Share trips functionality
Frontend:
- React 18 with Hooks (useState, useParams, useNavigate)
- React Router v6 for client-side routing
- Vite for build tooling
- Semantic HTML5
- CSS3 with custom properties
Development:
- Git for version control
- ESLint for code quality
- Vercel for deployment
Planned:
- Google Places API
- Anthropic Claude API
- Node.js backend (for API key security)
- PostgreSQL/MongoDB (for user data)
- Node.js 18+ and npm
# Clone the repository
git clone https://github.com/yourusername/wandermatch.git
# Navigate to project directory
cd wandermatch
# Install dependencies
npm install
# Start development server
npm run devVisit http://localhost:5173 in your browser.
npm run build
npm run preview # Preview production build locallyThis project demonstrates:
- React component architecture and state management
- Client-side routing with React Router
- Controlled form components
- Array manipulation methods (
.map(),.filter(),.find(),.some()) - Accessible web development (WCAG compliant)
- Modern deployment workflows
- Split vs combined state decision-making
This is a personal learning project, but feedback and suggestions are welcome!
MIT License - feel free to use this project for learning purposes.
Built with ❤️ by Ifeoma N, as a learning project to refresh React mastery, modern web development and AI integration
[Your Name] | LinkedIn |