Skip to content

Arianwait/OracleIntegrationApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

OracleIntegrationApp

A config-driven JavaFX desktop client for Oracle databases. The application connects to an Oracle database, authenticates the user, and builds its entire UI from a JSON configuration file — table views, input forms, and procedure calls are generated at runtime, so new screens can be added without changing the code. The included configuration demonstrates the app on an airline / flights domain.

Features

  • Login screen with Oracle authentication — credentials are entered by the user and passed straight to the JDBC connection (nothing is stored on disk).
  • Config-driven UI — views, tables, and forms are described in views_config.json; adding a new screen is a config change, not a code change.
  • Dynamic data views — browse Oracle views and tables in generated TableViews.
  • Procedure forms — call PL/SQL stored procedures and DBMS procedures through auto-generated input forms, including dropdown fields populated from other tables (TableList).
  • Excel export — export any result set to .xlsx via Apache POI.
  • Centralized error handling — user-facing dialogs plus Log4j2 logging.

Tech stack

Java · JavaFX · Oracle JDBC (ojdbc8) · Apache POI · Log4j2 · org.json · Maven

Project structure

kz.aws.oracleapp/
├── src/main/java/kz/aws/oracleapp/
│   ├── database/      # Oracle connection, views, stored/DBMS procedures
│   ├── scene/         # JavaFX screens (login, dynamic tables, dynamic forms)
│   ├── scenehelper/   # dialogs, query handling, loaders
│   ├── data/          # config loading, app/user state
│   ├── excel/         # export to .xlsx
│   └── dispetcher/    # Dispatcher — JavaFX Application entry point
├── data/config.properties   # JDBC URL
└── views_config.json        # UI definition (views, tables, procedure forms)

Getting started

Requirements: JDK 11+ with JavaFX, Maven, and access to an Oracle database.

  1. Set your database URL in data/config.properties:
    db.url=jdbc:oracle:thin:@HOST:1521/SERVICE
  2. Adjust views_config.json to match your schema (views, tables, and procedures you want to expose).
  3. Build and run:
    mvn clean compile
    mvn exec:java -Dexec.mainClass="kz.aws.oracleapp.dispetcher.Dispatcher"
  4. Log in with a valid Oracle username and password.

Notes

  • Database credentials are never persisted — they are supplied at login and used only to open the connection. config.properties holds only the JDBC URL.
  • The views_config.json format supports view, hproc (stored procedure), and DBMS-procedure screens, with typed fields (VARCHAR2, NUMBER, DATE, and TableList dropdowns).

About

Config-driven JavaFX desktop client for Oracle DB — dynamic views, stored-procedure forms, and Excel export RU: Десктоп-клиент Oracle на JavaFX с интерфейсом из JSON-конфига — динамические таблицы, формы для процедур, экспорт в Excel

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors