Post

๐ŸŒ TravelReview Project

๐ŸŒ TravelReview Project
Java JavaFX MySQL

Aplikasi Review Tempat Wisata Indonesia

Membantu wisatawan menemukan destinasi terbaik dengan ulasan terpercaya

๐Ÿ”— Repository โ€ข ๐Ÿ“ฑ Live Demo


๐Ÿ‘ฅ Tim RoamRangers

Cholyn Sharon Enos
H071231040
Muhammad Dirga Dian Nugraha
H071231039
Amalia Diah Ramadani
H071231063

๐ŸŽฏ Tema: Travel and Culture
๐Ÿ‘จโ€๐Ÿซ Pendamping: Muh. Adnan Putra Amiruddin
๐Ÿ‘จโ€โš–๏ธ Tim Juri: Awang Mulya Nugrawan, Rahmaliyah Kadir


๐Ÿš€ Tentang TravelReview

TravelReview adalah aplikasi desktop berbasis JavaFX yang dirancang untuk membantu wisatawan Indonesia menemukan tempat wisata terbaik, memberikan rating, serta menulis ulasan tentang pengalaman mereka.

๐ŸŽฏ Masalah yang Diselesaikan

๐Ÿ” Problem๐Ÿ’ก Solution
Informasi TersebarPlatform terpusat untuk ulasan wisata
Kredibilitas UlasanSistem verifikasi dan rating yang transparan
Pengalaman UserInterface yang user-friendly dan intuitif

โœจ Mengapa TravelReview?

  • ๐Ÿ๏ธ Fokus Indonesia - Khusus destinasi wisata Nusantara
  • ๐Ÿ”’ Terpercaya - Sistem login dan verifikasi user
  • ๐Ÿ“Š Data Akurat - Rating berbasis pengalaman nyata
  • ๐ŸŽจ Modern UI - Interface yang menarik dan mudah digunakan

๐Ÿ› ๏ธ Fitur Utama

๐Ÿ‘ค Fitur User

1
2
3
4
5
๐Ÿ  Dashboard dengan rekomendasi wisata
๐Ÿ“ Daftar lengkap tempat wisata (card view)
๐Ÿ“– Detail destinasi dengan deskripsi menarik
โญ Sistem rating dan ulasan
๐Ÿ‘ค Manajemen profil & foto profil

๐Ÿ”ง Fitur Admin

1
2
3
๐Ÿ“Š Dashboard admin dengan statistik
๐Ÿ—‚๏ธ Manajemen tempat wisata (CRUD)
๐Ÿ“‹ Tampilan tabel untuk data management

๐Ÿ” Fitur Umum

1
2
3
๐Ÿ”‘ Sistem login/register yang aman
๐Ÿงญ Navigasi yang intuitif
๐Ÿšช Logout dengan konfirmasi

๐Ÿ—๏ธ Penerapan Prinsip OOP

PrinsipImplementasiContoh Class
๐Ÿ”’ EncapsulationPrivate attributes + Getter/SetterUser, TempatWisata, Comment
๐Ÿงฌ InheritanceClass turunan dari parent classControllers extend DbConfig
๐ŸŽญ PolymorphismOverride methods di subclassScene classes extend AScene
๐ŸŽฏ AbstractionAbstract class dengan templateAScene abstract class

๐Ÿ’ก Detail Implementasi

1. Abstraction dengan AScene

1
2
3
4
5
// Template pattern untuk semua scene
abstract class AScene {
    protected abstract void initializeComponents();
    protected abstract void setupEventHandlers();
}

2. Inheritance Chain

1
2
3
4
5
6
7
Application
    โ†ณ App (Main Class)

DbConfig
    โ†ณ UsersController
    โ†ณ TempatWisataController  
    โ†ณ CommentsController

3. Encapsulation Example

1
2
3
4
5
6
7
public class User {
    private String username;    // Private attributes
    private String email;
    
    public String getUsername() { return username; }  // Controlled access
    public void setUsername(String username) { this.username = username; }
}

๐Ÿ“ฑ Screenshots

๐Ÿ” Authentication

Login
Login
Register
Register

๐Ÿ  User Interface

Home Dashboard
Home Dashboard
Daftar Wisata
Daftar Wisata

๐Ÿ“– Detail & Review

Detail Wisata
Detail Wisata
Rating & Ulasan
Rating & Ulasan

๐Ÿ‘ค Profile & Admin

User Profile
User Profile
Admin Dashboard
Admin Dashboard

โš™๏ธ Admin Management

Tabel Management
Table Management
Add Wisata
Add Wisata
Edit Wisata
Edit Wisata

๐Ÿงช Testing Results

โœ… 15/15 Test Cases Passed

๐Ÿงช Test Case๐Ÿ“‹ Description๐ŸŽฏ Result
1Login dengan kredensial salahโœ…
2Login tanpa inputโœ…
3Register dengan field kosongโœ…
4Menambah & menampilkan komentarโœ…
5Sistem rating tempat wisataโœ…
6Handle data kosongโœ…
7Logout functionalityโœ…
8Upload foto profilโœ…
9Default profile pictureโœ…
10Update profil userโœ…
11Validasi email formatโœ…
12Admin login accessโœ…
13CRUD tempat wisata - Createโœ…
14CRUD tempat wisata - Updateโœ…
15CRUD tempat wisata - Deleteโœ…

๐ŸŽฏ Tech Stack

CategoryTechnology
LanguageJava
UI FrameworkJavaFX
DatabaseMySQL
IDEIntelliJ IDEA / Eclipse
Version ControlGit & GitHub

๐Ÿ“… Development Timeline

DateMilestone
13 Mei 2024๐Ÿš€ Project Kickoff
22 Mei 2024๐Ÿ“‹ Planning & Design
23 Mei 2024๐Ÿ”ง Core Development
27 Mei 2024๐Ÿงช Testing Phase
29 Mei 2024๐ŸŽ‰ Final Review

๐Ÿš€ Getting Started

1
2
3
4
5
6
7
8
9
10
11
# Clone repository
git clone https://github.com/CSE-9124/TravelReview-project.git

# Buka project di IDE
cd TravelReview-project

# Setup database MySQL
# Import database schema

# Run aplikasi
# Execute main class: App.java

๐ŸŽ‰ Kesimpulan

TravelReview berhasil mengimplementasikan konsep Object-Oriented Programming dengan sempurna, menghadirkan solusi nyata untuk masalah wisatawan Indonesia dalam mencari informasi destinasi terpercaya. Dengan interface yang user-friendly dan fitur yang lengkap, aplikasi ini siap membantu mempromosikan pariwisata Indonesia.


๐Ÿ† Final Project Object-Oriented Programming

Universitas Hasanuddin - 2024

This post is licensed under CC BY 4.0 by the author.