Academic group project for the Distributed Systems module at Université Ibn Zohr – FSA, implementing a multi-machine client-server architecture using RMI, with a web interface for user interaction. Managed under Agile (Scrum) using Taiga.
- common: interfaces and DTOs shared between server and client
- rmi-server: Spring Boot application exposing RMI services and persisting with JPA/MySQL
- rest-client: Spring Boot REST application consuming RMI and exposing HTTP endpoints for React
- react-client: simple React frontend
Create a database coworking_db and update rmi-server/src/main/resources/application.properties with your username/password.
From project root:
- mvn clean package -DskipTests
- In
rmi-servermodule: mvn spring-boot:run (this starts RMI registry & server) - In
rest-clientmodule: mvn spring-boot:run - In
react-client: npm install && npm start or npm run dev
mvn -q -DskipTests clean install mvn -q -pl Backend\rmi-server spring-boot:run mvn -q -pl Backend\rest-client spring-boot:run npm run dev