Skip to content

NATANN-M/FlyEasy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

✈️ FlyEasy – Airline Ticket Booking App

FlyEasy is a modern airline ticketing app built in Java using MVVM architecture, Room for local data persistence, Retrofit for REST API integration, and Jetpack Navigation for smooth user flow. The app supports both user and admin roles, dynamic UI, QR code ticketing, and image uploads.


📱 Features

👤 User Features

  • ✈️ Search and view real-time flight data via API
  • 🔖 Save favorite flights locally
  • 📅 Book flights and save booking details
  • 🎫 View booked tickets with QR code
  • 🧾 View and edit profile (including profile image)
  • 🔔 Receive notifications and support messages
  • 💬 In-app support system

🛠️ Admin Features

  • 🧑‍💼 Admin login with role detection
  • 👥 Manage users (edit, delete, view bookings)
  • ✈️ Manage flights (import API flights, manually add, edit, delete)
  • 📝 View and manage all bookings
  • 🔔 Send notifications to users
  • 💬 Reply to support messages

🧱 Architecture

This app follows MVVM (Model-View-ViewModel) architecture:

  • Model: Room entities (e.g., UserEntity, BookingEntity), DAOs, and Retrofit API models.
  • ViewModel: Lifecycle-aware components to expose LiveData to UI.
  • View: Fragments and Activities observing ViewModel data.

🗂️ Folder Structure

com.flyeasy.airlineticketing ├── data │ ├── local # Room DB & DAO │ ├── remote # Retrofit API │ └── repository # Data repository (API + DB) ├── model # Entity & API models ├── ui │ ├── activities # Login, MainActivity, Splash │ └── fragments # Booking, Profile, Admin dashboard ├── viewmodel # All ViewModel classes ├── util # SessionManager, constants, helpers


🔧 Tech Stack

  • Java – Primary language
  • Room – Local database
  • Retrofit2 – REST API client
  • MVVM – Architectural pattern
  • LiveData & ViewModel – Jetpack Architecture components
  • Jetpack Navigation – For in-app navigation
  • Glide – For image loading
  • QR Code Generator – For ticketing
  • BottomNavigationView + Drawer – Dual navigation UI
  • SharedPreferences – Session persistence

🧪 How to Run

  1. Clone the repo:
    git clone https://github.com/yourusername/flyeasy.git

Open in Android Studio.

Configure:

Retrofit base URL in ApiClient.java

API Key ( required for flight API) on FlightRepository change the API key

Permissions in AndroidManifest.xml

Build & Run on Android Emulator or physical device.

📸 Screenshots

Dashbord User

image

Booking And SerchFlight

image

image

Mybooked flight

image

Ticket And QR

image

Admin Dashbord

image

Admin Flight management

image

Admin Manage Users

image

Support Message to Admin

image

My Tickets

image

About

Airline ticketing system stimulating it using AvationStack Api android app following MVVM structure

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages