Skip to content

1709abhishek/Travelopedia

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

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