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

AppsDiary is a software house that designs and develops mobile applications, websites, and custom software solutions. They work with businesses to c… Read more

...

B2Bcert ISO consultants in Bangalore

B2Bcert is a globally recognized certification and consulting firm dedicated to helping businesses achieve international quality and compliance stand… Read more

...

Mobiweb Global Solutions

Mobiweb Global Solutions is a full-service IT company specializing in web development, mobile app development, blockchain, AI, IoT, and game developm… Read more

...

Versasia Infosoft

Versasia Infosoft is a trusted provider of custom IT solutions, offering end-to-end services in software development, web and mobile app development,… Read more

...

April Innovations

April Innovations is one of the leading Enterprise Software Development companies in Mumbai, with clients being serviced in the USA, UK, and India. T… Read more