🗂️ Course project for UM for SD in 2024/25
This repository contains the code and tools for the RemoteDataServer project, designed for the UM for SD course in 2024/25. The project focuses on building a server-client architecture and includes functionalities for benchmarking and graphing performance data.
Ensure that the following dependencies are installed:
- Java 8+: Required for compiling and running Java code.
- Typst: For compiling and watching reports.
Additionally, the project uses external libraries for graphing:
- JFreeChart: For benchmarking and generating graphs.
- JCommon: A required dependency for JFreeChart.
src/: Contains the Java source files.bin/: The output directory where compiled.classfiles are stored.lib/: Contains external libraries (e.g.,jfreechart,jcommon).relatorio/: Contains the Typst file for the final report.
-
all: Default target, builds the project by runningmake build. -
build: Compiles the Java files in thesrcdirectory into thebindirectory.make build -
run: Runs the compiledMainclass from thebindirectory.make run -
dev: Compiles the Java files and runs theMainclass in development mode (both build and run).make dev -
clean: Deletes all compiled files in thebindirectory.make clean -
run-client: Runs theMainclass in client mode.make run-client -
run-server: Runs theMainclass in server mode.make run-server -
dev-client: Compiles the Java files and runs the client mode.make dev-client -
dev-server: Compiles the Java files and runs the server mode.make dev-server -
benchmark: Compiles and runs the benchmark test.make benchmark -
benchmark-graph: Compiles and runs the benchmarking graph generation using JFreeChart and JCommon libraries.make benchmark-graph -
relatorio: Compiles the report using Typst.make relatorio -
relatorio-watch: Watches for changes in therelatorio.typfile and recompiles it.make relatorio-watch -
relatorio-clean: Deletes the compiled report (relatorio.pdf).make relatorio-clean