A modern JavaFX application for seamless travel and tourism management
Features β’ Installation β’ Usage β’ Contributing
- Browse and manage accommodations with detailed information
- Image galleries for visual representation
- Advanced filtering and search capabilities
- Discover historical monuments and landmarks
- Detailed descriptions with rich media content
- Interactive map integration
- Browse certified tour guides
- View ratings and reviews
- Secure booking system with payment integration
- Leave detailed reviews for guides and accommodations
- Rating system for quality assurance
- Community-driven recommendations
- Secure authentication with email verification
- User profiles with customization options
- Role-based access control (Admin/Client)
- Real-time statistics and reports
- Booking analytics with visual charts
- Revenue tracking and insights
- Clean, responsive design
- Multiple theme support
- Intuitive navigation
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
- Java 17+
- Maven 3.6+
- JavaFX SDK
-
Clone the repository
git clone https://github.com/mahdi-y/TourJoyFx.git cd TourJoyFx
-
Build the project
mvn clean install
-
Run the application
mvn javafx:run
Using IDE:
- Import as Maven project
- Run
HelloApplication.java
JAR Execution:
mvn clean package
java -jar target/tourjoyfx-1.0.jar
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 |
AccomodationController
- Accommodation managementGuidesFront
- Guide booking interfacePaymentController
- Payment processingSubscriptionController
- Subscription management
- User authentication and session management
- Booking and reservation services
- Payment processing integration
- Email notification system
- Modern CSS styling with multiple themes
- Responsive design patterns
- Custom components and controls
- Smooth animations and transitions
The application supports multiple CSS themes located in:
styles.css
- Main themebackoffice.css
- Admin interfacestyling.css
- Alternative styling
- Create a new CSS file in
src/main/resources/
- Define your custom styles
- Load the theme in your controller:
scene.getStylesheets().add("your-theme.css");
- Install MySQL 8.0+
- Create database:
tourjoy_db
- Update connection settings in your configuration files
Configure SMTP settings for email notifications in the application properties.
We welcome contributions! Please follow these steps:
- Fork the repository
- Create a feature branch
git checkout -b feature/amazing-feature
- Commit your changes
git commit -m 'Add amazing feature'
- Push to the branch
git push origin feature/amazing-feature
- Open a Pull Request
- Follow Java naming conventions
- Add JavaDoc comments for public methods
- Ensure CSS follows BEM methodology
- Test your changes thoroughly
This project is licensed under the MIT License - see the LICENSE file for details.
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: support@tourjoy.com
- JavaFX community for excellent documentation
- Open source contributors
- Beta testers and feedback providers