Business Client need Software Development
Contact person: Business Client
Phone:Show
Email:Show
Location: Calgary, Canada
Budget: Recommended by industry experts
Time to start: As soon as possible
Project description:
"Project Description for Freelancer – Flight Reservation System (Java + Swing + SQLite)
I need a stand-alone Flight Reservation System built in Java, using Swing for the front-end GUI and SQLite or MySQL for the database. The UI must be basic, clean, and functional — nothing fancy.
The project must strictly follow 3-Layer Architecture:
1. Presentation Layer (GUI / Boundary Classes)
2. Business Logic Layer (Entity + Control Classes)
3. Data Layer (Database Access Classes)
This project must follow object-oriented design principles, low coupling, high cohesion, and be structured so it is easy to extend and maintain.
⸻
1. FEATURES REQUIRED
User Roles
The system supports 3 roles:
• Customer
• Flight Agent
• System Administrator
Core Functionalities
1. Login
• User enters username/password
• System identifies the role and shows the appropriate menu
2. Flight Search & Display
• Search by: origin, destination, date, airline
• Show results in a table (Swing JTable)
• Show flight ID, time, price, available seats
3. Booking Management
Customer or agent can:
• Make new bookings
• Modify existing reservations
• Cancel a reservation
• Generate simple booking confirmation
4. Customer Management (Agent/Admin)
• Add customer
• Update customer details
• View customer information
5. Flight Management (Admin Only)
• Add new flights
• Update existing flights
• Delete outdated flights
6. Payment Simulation
• Record payment object (no real payment gateway)
• Basic validation and confirmation message
7. Booking History
• View bookings for a given customer
• Filter by date, customer ID, etc.
⸻
2. ARCHITECTURE REQUIREMENTS
A. Entity Classes (Domain Layer)
Each must be proper POJOs:
• Flight
• Reservation
• Customer
• Payment
• User
• Aircraft (optional but preferred)
B. Control Classes (Application/Controller Layer)
These classes contain logic and coordinate between UI + database:
• FlightController
• ReservationController
• PaymentController
• CustomerController
• AuthenticationController
C. Boundary Classes (Presentation/UI Layer)
These are Swing screens:
• LoginView
• MainMenuView
• SearchFlightView
• BookingView
• CustomerManagementView
• AdminFlightManagementView
• ReservationManagementView
Views must use event listeners, and NEVER contain raw SQL.
D. Data Layer (Persistence)
Implement a clean separation:
• DatabaseManager (Singleton, manages connection)
• DAO classes or SQL helper functions
Database:
SQLite preferred (simple file database).
Tables:
• flights
• customers
• reservations
• payments
• users
⸻
3. REQUIRED UI SCREENS
Screens must be simple:
• Basic JFrame or JPanel switching
• JLabels, JTextFields, JButtons, JTable
• No styling libraries, no JavaFX
Screens needed:
1. Login screen
2. Main menu (changes based on role)
3. Search flights
4. Book a flight
5. Modify/cancel reservation
6. Add/Update/Delete flights (Admin)
7. Add/Edit/View customers
⸻
4. NON-FUNCTIONAL REQUIREMENTS
• Clean modular OOP structure
• Low coupling, high cohesion
• Clear separation of concepts
• Proper package structure (presentation/domain/data)
• Code must compile and run in IntelliJ or Eclipse
⸻
5. DELIVERABLES NEEDED
This is very important — the project grade depends on these.
A. Code Deliverables
1. Full Java source code (.java files)
2. Working JAR file
3. SQLite database file + table creation scripts
4. Clear instructions to run the project
⸻
B. Design Document Deliverables
The freelancer must produce:
1. Use Case Diagram
Includes all major use cases and actors.
2. Scenarios for Each Use Case
• Each scenario must underline objects and double-underline operations.
3. Activity Diagrams
Four required:
• Login process
• Browsing/selecting a flight
• Booking a flight
• Payment process
4. Sequence Diagrams
Four required — tied to control classes.
5. State Transition Diagrams
Four required:
• Entire system
• Payment
• Reservation
• Flight
6. Class Diagram
Must include:
• Attributes
• Methods
• Relationships
• Multiplicities
• Stereotypes: <>, <>, <>
7. Package Diagram
Three layers: presentation → logic → data
⸻
6. DEVELOPMENT EXPECTATIONS
• Clean OOP design
• Modular and maintainable code
• No business logic in the UI layer
• No SQL queries inside UI classes
• Use MVC-like separation
• Code must follow basic Java conventions
⸻
7. FINAL DELIVERABLE FORMAT
Freelancer must provide:
• A ZIP with .java files
• A JAR file
• The SQLite DB file
• A PDF containing all required UML + documentation
• A README explaining how to run
⸻
8. DEADLINE & COMMUNICATION
• Code must compile and run without errors
• Frequent progress updates
• Diagrams must match the code (traceability)
• Maximum time 6 days
⸻" (client-provided description)
Matched companies (5)

Appsdiary Technologies

B2Bcert ISO consultants in Bangalore

Mobiweb Global Solutions

Versasia Infosoft
