Skip to content

deep3072/Travelopedia

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Travelopedia 🌍✈️

A comprehensive web application for backpackers and travelers to plan, document, optimize and look for their travel-stats!

Visit Live Site

Travelopedia Landing Page

Embedded Google Drive Video

View the video on Google Drive

React Spring Boot MongoDB Redis Docker Kubernetes

AI Powered Microservices Travel Planner Budget Optimizer

🌟 Features

📊 Travel Statistics

  • Track visited destinations
  • View global travel statistics and rankings
  • Visualize travelled checkpoints and store wishlists

🎯 Smart Recommendations

  • AI/ML-powered itinerary suggestions
  • Personalized travel recommendations
  • Generate customized itineraries amd talk with a chatbot to improve that itinerary
  • Save the itineraries to log trip and edit them, or view them again next time.

📝 Travel Documentation

  • Document hotels, restaurants, and tourist spots
  • Create detailed day-wise trip breakdowns
  • Share travel experiences and tips
  • Manage long-term travel plans

💰 Budget Management

  • Predict trip expenses
  • Optimize travel costs
  • Track accommodation and ticket prices

🏗️ Architecture

Microservices Overview

The application follows a microservices architecture with high cohesion and low coupling:

  1. Customer Service

    • User profiles and authentication
    • Wishlist management
    • Travel history tracking
    • JWT-based security
  2. Recommendation Service

    • AI/ML-based suggestions
    • Personalized travel recommendations
    • Save and log user chats
    • make better itinerary suggestions based on user's current chat.
  3. Budget/Expense Service

    • Cost prediction
    • Expense tracking
    • Budget optimization
    • Daily activity planning
    • Location documentation
    • Trip scheduling
    • Trip Logging

Technical Stack

Backend

  • Java/Spring Boot for microservices
  • Spring Cloud for service configuration
  • Redis (35MB free tier) for high-speed caching
  • MySQL for general-purpose database
  • API Gateway for request routing
  • Load Balancer for traffic distribution

Frontend

  • React with Context API
  • Modern responsive design
  • Jest for testing and development
  • Interactive user interface

DevOps

  • Docker containerization
  • Kubernetes orchestration
  • YAML configuration

🔄 System Flow

System Flow

  1. Client requests are distributed through a Load Balancer
  2. Requests are routed through the API Gateway
  3. Services communicate using Feign clients
  4. Redis caching reduces API latency
  5. Each service maintains its dedicated database
  6. Spring Cloud Config Server manages service configurations

💻 Performance Optimization

Redis Caching

  • Redis caching reduces API latency from 20/10 sec to 30 msec
  • Rate limiting: 1000 requests/day
  • GraphQL API for efficient data fetching
  • Microservices ensure scalability and maintainability

🔐 Security

  • JWT-based authentication
  • Secure API endpoints
  • Role-based access control
  • Environment-based configuration

📸 Live Application Screenshots

Landing Page

Landing Page Beautiful landing page featuring hot air balloons over a scenic landscape

Architecture Diagrams

Microservices Architecture

Configuration Setup

🚀 Getting Started

# Clone the repository
git clone https://github.com/1709abhishek/travelopedia.git

# Navigate to the project directory
cd travelopedia

cd client

# Install dependencies
npm install

# Start the development server
npm run dev
#start backend
# Clone the repository
git clone https://github.com/1709abhishek/travelopedia.git

# Navigate to the project directory
cd travelopedia

# enter into server
cd server

#start customer-service
cd customer service
mvn spring-boot:run

#start recommendation-service
cd recommendation-service
mvn spring-boot:run

#start budget service
cd budget-service
mvn spring-boot:run

About

Full Stack Travelopedia App

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HTML 34.4%
  • Java 26.4%
  • JavaScript 24.1%
  • TypeScript 9.6%
  • CSS 5.4%
  • Dockerfile 0.1%