Skip to content

A modern JavaFX travel management platform for booking accommodations, discovering monuments, and connecting with professional tour guides. Features secure payments, user reviews, analytics dashboard, and intuitive UI with multiple themes.

Notifications You must be signed in to change notification settings

mahdi-y/TourJoyFx

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

53 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌍 TourJoyFX - Travel Management Platform

Java JavaFX Maven License

A modern JavaFX application for seamless travel and tourism management

Features β€’ Installation β€’ Usage β€’ Contributing


Features

Accommodation Management

  • Browse and manage accommodations with detailed information
  • Image galleries for visual representation
  • Advanced filtering and search capabilities

Monument Explorer

  • Discover historical monuments and landmarks
  • Detailed descriptions with rich media content
  • Interactive map integration

Professional Guide Services

  • Browse certified tour guides
  • View ratings and reviews
  • Secure booking system with payment integration

Feedback System

  • Leave detailed reviews for guides and accommodations
  • Rating system for quality assurance
  • Community-driven recommendations

User Management

  • Secure authentication with email verification
  • User profiles with customization options
  • Role-based access control (Admin/Client)

Analytics Dashboard

  • Real-time statistics and reports
  • Booking analytics with visual charts
  • Revenue tracking and insights

Modern UI/UX

  • Clean, responsive design
  • Multiple theme support
  • Intuitive navigation

Architecture

TourJoyFX/
β”œβ”€β”€ src/main/java/
β”‚   β”œβ”€β”€ Controller/          # UI Controllers
β”‚   β”œβ”€β”€ Entities/           # Data Models
β”‚   β”œβ”€β”€ Services/           # Business Logic
β”‚   β”œβ”€β”€ Filter/             # Search & Filter Logic
β”‚   └── utils/              # Utility Classes
β”œβ”€β”€ src/main/resources/
β”‚   β”œβ”€β”€ *.fxml             # UI Layouts
β”‚   β”œβ”€β”€ *.css              # Styling
β”‚   └── images/            # Assets
└── pom.xml                # Maven Configuration

Quick Start

Prerequisites

  • Java 17+
  • Maven 3.6+
  • JavaFX SDK

Installation

  1. Clone the repository

    git clone https://github.com/mahdi-y/TourJoyFx.git
    cd TourJoyFx
  2. Build the project

    mvn clean install
  3. Run the application

    mvn javafx:run

Alternative Run Methods

Using IDE:

JAR Execution:

mvn clean package
java -jar target/tourjoyfx-1.0.jar

Tech Stack

Technology Purpose Version
Java Core Language 17+
JavaFX UI Framework Latest
Maven Build Tool 3.6+
FXML UI Layout -
CSS3 Styling -
MySQL Database 8.0+
Apache PDFBox PDF Generation Latest
ZXing QR Code Generation Latest

Key Components

Controllers

Services

  • User authentication and session management
  • Booking and reservation services
  • Payment processing integration
  • Email notification system

UI Features

  • Modern CSS styling with multiple themes
  • Responsive design patterns
  • Custom components and controls
  • Smooth animations and transitions

Customization

Themes

The application supports multiple CSS themes located in:

Adding Custom Themes

  1. Create a new CSS file in src/main/resources/
  2. Define your custom styles
  3. Load the theme in your controller:
    scene.getStylesheets().add("your-theme.css");

Configuration

Database Setup

  1. Install MySQL 8.0+
  2. Create database: tourjoy_db
  3. Update connection settings in your configuration files

Email Configuration

Configure SMTP settings for email notifications in the application properties.


Contributing

We welcome contributions! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch
    git checkout -b feature/amazing-feature
  3. Commit your changes
    git commit -m 'Add amazing feature'
  4. Push to the branch
    git push origin feature/amazing-feature
  5. Open a Pull Request

Code Style

  • Follow Java naming conventions
  • Add JavaDoc comments for public methods
  • Ensure CSS follows BEM methodology
  • Test your changes thoroughly

License

This project is licensed under the MIT License - see the LICENSE file for details.


Contact & Support


Acknowledgments

  • JavaFX community for excellent documentation
  • Open source contributors
  • Beta testers and feedback providers

TourJoyFX - Making travel planning joyful!

GitHub stars GitHub forks

About

A modern JavaFX travel management platform for booking accommodations, discovering monuments, and connecting with professional tour guides. Features secure payments, user reviews, analytics dashboard, and intuitive UI with multiple themes.

Topics

Resources

Stars

Watchers

Forks

Contributors 5