Skip to content

Tharunkumar120506/fullstackproject

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

1 Commit
ย 
ย 

Repository files navigation

Travel Planner - Frontend

A comprehensive React-based web application for planning and managing travel itineraries, budgets, and travel journals.

๐Ÿš€ Features

  • 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

๐Ÿ› ๏ธ Tech Stack

  • 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

๐Ÿ“ Project Structure

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

๐ŸŽจ Design Features

  • 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

๐Ÿ“ฑ Pages Overview

Home Page

  • Hero section with call-to-action
  • Feature highlights
  • Popular destinations showcase
  • Clean, welcoming design

Dashboard

  • Trip statistics and overview
  • Quick action buttons
  • Recent trips display
  • Upcoming trips section

Itinerary Planner

  • Tabbed interface (Trips/Destinations)
  • Trip creation form
  • Trip cards with full details
  • Destination exploration

Budget Planner

  • Budget overview with progress tracking
  • Category-wise expense breakdown
  • Add/edit budget items
  • Visual progress indicators

Travel Journal

  • Journal entry creation
  • Rich text content support
  • Mood tracking
  • Tag-based organization

Authentication

  • Modern login/signup forms
  • Social login options
  • Form validation
  • Responsive design

๐Ÿš€ Getting Started

Prerequisites

  • Node.js (v16 or higher)
  • npm or yarn

Installation

  1. Clone the repository

    git clone <repository-url>
    cd travel-planner
  2. Install dependencies

    npm install
  3. Start development server

    npm run dev
  4. Open your browser Navigate to http://localhost:5173

Available Scripts

  • npm run dev - Start development server
  • npm run build - Build for production
  • npm run preview - Preview production build
  • npm run lint - Run ESLint

๐ŸŽฏ Key Components

Reusable Components

  • 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

State Management

  • React hooks (useState, useEffect)
  • Custom hooks for notifications
  • Local state management for demo data

Routing

  • React Router for navigation
  • Protected routes (ready for implementation)
  • Dynamic routing for trip details

๐Ÿ“Š Sample Data

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

๐ŸŽจ Styling Approach

  • 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

๐Ÿ”ง Customization

Adding New Pages

  1. Create component in src/pages/
  2. Add route in App.jsx
  3. Update navigation in Navbar.jsx
  4. Add corresponding styles

Adding New Components

  1. Create component in appropriate folder
  2. Add component-specific CSS
  3. Import and use in parent components

Modifying Styles

  • Global styles: src/styles/globals.css
  • Component styles: Individual CSS files
  • Color scheme: Update CSS custom properties

๐Ÿš€ Deployment

Build for Production

npm run build

Deploy to Vercel

npm install -g vercel
vercel --prod

Deploy to Netlify

npm run build
# Upload dist folder to Netlify

๐Ÿ”ฎ Future Enhancements

  • 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

๐Ÿ“ License

This project is licensed under the MIT License.

๐Ÿค Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if applicable
  5. Submit a pull request

๐Ÿ“ž Support

For support or questions, please open an issue in the repository.


Happy Traveling! โœˆ๏ธ

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published