Overview • Repository Organization • Usage & Operation • Acknowledgments • License
This repository contains the software architecture for a LoRa Ground Station developed for the Object-Oriented Programming course at Inatel. Built with Java 17 and Maven, the project interfaces with LoRa radio hardware via serial communication to receive, decode, and display live satellite telemetry. The codebase implements advanced Object-Oriented concepts including MVC architecture, dynamic polymorphism, and the Factory design pattern, ensuring a decoupled and scalable system. It also features a real-time JavaFX dashboard, automated JUnit testing, and CI/CD pipelines via GitHub Actions.
- src/main/java: Core Java application containing the hardware serial connection, the factory pattern decoders, data models, and the JavaFX user interface.
- src/test/java: JUnit 5 test suite validating the integrity of the mission data extraction and telemetry decoding logic.
- .github/workflows: Continuous Integration and Deployment scripts for automated Maven testing and JavaDoc generation.
- pom.xml: Maven configuration file managing dependencies such as JavaFX, JUnit, and jSerialComm.
The application requires Java 17 and Maven. To run the software locally, connect the LoRa hardware to the designated COM port, clone the repository, and execute the application using the Maven command line:
git clone https://github.com/Rorchive/JSTDS.git
cd JSTDS
mvn clean compile
mvn javafx:runTo execute the automated unit testing suite:
mvn test- Special thanks to Prof. Flávio Henrique Madureira Bergamini from Inatel for his guidance in software architecture and object-oriented programming best practices.
This software project is licensed under the MIT License. Please note that included third-party dependencies, libraries, or APIs may be subject to their own respective licenses. All materials are provided "as is" without warranty of any kind, and the authors assume no liability for any direct or indirect damages, claims, or issues arising from their compilation, use, or implementation.
Built with ❤️ by Rodrigo de Carvalho Andrade

