A comprehensive React-based web application for planning and managing travel itineraries, budgets, and travel journals.
- Trip Planning: Create, edit, and manage travel itineraries
- Budget Management: Track expenses and stay within budget
- Travel Journal: Document your adventures and memories
- Destination Discovery: Explore popular travel destinations
- Responsive Design: Works seamlessly on desktop and mobile devices
- Modern UI: Clean, intuitive interface with smooth animations
- React 18 - Frontend framework
- Vite - Build tool and development server
- React Router - Client-side routing
- CSS3 - Styling with modern features (Grid, Flexbox)
- HTML5 - Semantic markup
src/
โโโ components/
โ โโโ common/
โ โ โโโ Navbar.jsx # Navigation component
โ โ โโโ Footer.jsx # Footer component
โ โ โโโ Notification.jsx # Toast notifications
โ โโโ cards/
โ โ โโโ TripCard.jsx # Trip display card
โ โ โโโ DestinationCard.jsx # Destination display card
โ โ โโโ BudgetItem.jsx # Budget item card
โ โ โโโ JournalEntry.jsx # Journal entry card
โ โโโ forms/
โ โโโ LoginForm.jsx # Login form component
โ โโโ SignupForm.jsx # Signup form component
โโโ pages/
โ โโโ Home.jsx # Landing page
โ โโโ Dashboard.jsx # User dashboard
โ โโโ Itinerary.jsx # Trip planning page
โ โโโ BudgetPlanner.jsx # Budget management page
โ โโโ TravelJournal.jsx # Journal entries page
โ โโโ Login.jsx # Login page
โ โโโ Signup.jsx # Registration page
โโโ data/
โ โโโ Poster.jsx # Image URLs and utilities
โโโ hooks/
โ โโโ useNotification.js # Notification hook
โโโ styles/
โ โโโ globals.css # Global styles
โ โโโ components.css # Component-specific styles
โโโ App.jsx # Main app component
โโโ main.jsx # App entry point
- Modern UI/UX: Clean, professional design with smooth transitions
- Responsive Layout: Mobile-first approach with breakpoints
- Color Scheme: Professional blue and green palette
- Typography: Clean, readable fonts with proper hierarchy
- Icons: Emoji-based icons for better visual appeal
- Cards: Consistent card-based layout throughout the app
- Hero section with call-to-action
- Feature highlights
- Popular destinations showcase
- Clean, welcoming design
- Trip statistics and overview
- Quick action buttons
- Recent trips display
- Upcoming trips section
- Tabbed interface (Trips/Destinations)
- Trip creation form
- Trip cards with full details
- Destination exploration
- Budget overview with progress tracking
- Category-wise expense breakdown
- Add/edit budget items
- Visual progress indicators
- Journal entry creation
- Rich text content support
- Mood tracking
- Tag-based organization
- Modern login/signup forms
- Social login options
- Form validation
- Responsive design
- Node.js (v16 or higher)
- npm or yarn
-
Clone the repository
git clone <repository-url> cd travel-planner
-
Install dependencies
npm install
-
Start development server
npm run dev
-
Open your browser Navigate to
http://localhost:5173
npm run dev
- Start development servernpm run build
- Build for productionnpm run preview
- Preview production buildnpm run lint
- Run ESLint
- TripCard: Displays trip information with actions
- DestinationCard: Shows destination details
- BudgetItem: Individual budget item display
- JournalEntry: Journal entry with rich content
- Notification: Toast notification system
- React hooks (useState, useEffect)
- Custom hooks for notifications
- Local state management for demo data
- React Router for navigation
- Protected routes (ready for implementation)
- Dynamic routing for trip details
The application includes comprehensive dummy data:
- 3 sample trips with full details
- 4 popular destinations
- 5 budget items across different categories
- 3 journal entries with rich content
- User statistics and analytics
- CSS Modules: Component-specific styles
- Global Styles: Common utilities and variables
- Responsive Design: Mobile-first approach
- Modern CSS: Grid, Flexbox, and CSS custom properties
- Consistent Spacing: 8px grid system
- Color Palette: Professional blue and green scheme
- Create component in
src/pages/
- Add route in
App.jsx
- Update navigation in
Navbar.jsx
- Add corresponding styles
- Create component in appropriate folder
- Add component-specific CSS
- Import and use in parent components
- Global styles:
src/styles/globals.css
- Component styles: Individual CSS files
- Color scheme: Update CSS custom properties
npm run build
npm install -g vercel
vercel --prod
npm run build
# Upload dist folder to Netlify
- Backend Integration: Connect to real API
- User Authentication: Implement real auth system
- Data Persistence: Add database integration
- Advanced Features:
- Trip sharing
- Collaborative planning
- Real-time updates
- Photo uploads
- Offline support
This project is licensed under the MIT License.
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
For support or questions, please open an issue in the repository.
Happy Traveling!