FiberTools is an open-source JavaFX application designed to assist with fiber optic network data storage and calculations.
- CRUD abilities for storage of Inventory, Employee, Splice Records, and Individual Fibers.
- OTDR Style trace viewer & table for splice records. .SOR Files only
- Report Creator for splice records. .PDF Files only
- Conversion between Color to Fiber and Fiber to Color.
- Calculations for a loss budget. Allows for multiple different types of cable and units of measurement.
- pyOTDR
- Version: 2.1.0
- pyOTDR
- MySQL Connector/J
- Version: 8.0.33
- MySQL Connector/J
- MaterialFx
- Version: 11.17.0
- MaterialFx
- ikonli
- Version: 12.3.1
- ikonli-javafx
- ikonli-fontawesome5-pack
- JUnit Jupiter
- Version: 5.8.2
- JUnit Jupiter
- JUnit Jupiter Engine
- JAXB API
- Version: 2.3.1
- jaxb-api
- JAXB Runtime
- Version: 2.3.1
- jaxb-runtime
- VirtualizedFX
- Version: 11.9.3
- VirtualizedFX
- Java 17 or higher: Java
- JavaFX 17.0.2 or higher: JavaFX SDK
- MySQL 8.0.26 or higher: MySQL
- Python 3.6 or higher: Python
- pyOTDR 2.1.0 or higher: pyOTDR
-
Ensure that you have python3 & pyOTDR installed:
python3 --version pip3 install pyOTDR
-
Clone the repository:
git clone https://github.com/jardo5/FiberTools.git
-
Navigate to the project directory:
cd FiberTools
-
Set up the MySQL database:
Navigate to the JBDC: com/fibertools/dao/JDBC.java. Edit necessary fields for your database
-
Temporary Step Set up pyOTDR:
Due to current limitations, pyOTDR must be installed & set up manually. Navigate to the line 165/166 in com/fibertools/controllers/TraceViewerControllers/TraceViewerController.java. Change the path to the pyOTDR executable.
-
Run the Project:
Tables and sample data are automatically created. Default login is user/user. Please Change this.
-
Database
- Future normalization.
-
Trace Viewer
- Either integrate pyOTDR or create a Java port.
- Add support for multiple trace formats.
- Add support for multiple .SOR files at same time.
- Further, improve performance.
-
Report Creator
- Add support for multiple report formats.
- Add GUI for custom report creation.
-
User Interface
- Add support for multiple themes.
- Add support for different languages.
- Add support for different units of measurement.
-
Testing
- Add unit tests.
- Test on different operating systems.
- Performance testing.
- External UX/UI testing.
This project is still in development. If you have any suggestions or find any bugs, please feel free to open an issue. Or if you would like to contribute, please open a pull request.