Skip to content

Greenfield is a pervasive distributed system that manages Cleaning Robots deployed throughout the city. These robots act as peers, working together to autonomously navigate and clean various areas. Advanced technologies are utilized to enhance efficiency and maintain cleanliness.

License

Notifications You must be signed in to change notification settings

FedericoBruzzone/greenfield

Repository files navigation

Greenfield

Greenfield is a pervasive distributed system that manages Cleaning Robots deployed throughout the city. These robots act as peers, working together to autonomously navigate and clean various areas. Advanced technologies are utilized to enhance efficiency and maintain cleanliness.

Technologies

  • gRPC

  • Protocol Buffer

  • gson

  • Jersey 1.19

  • AspectJ

Requirements

  • Java 1.8

  • Gradle >= 7.4.2

Run, Compile and Build

You can use gradle or ./gradlew

Run

Running gradle tasks will automatically compile the necessary files.

Mosquitto

  • Start mosquitto broker

    sudo service mosquitto start or sudo systemctl start mosquitto

  • Stop mosquitto broker

    sudo service mosquitto stop or sudo systemctl stop mosquitto

  • Status mosquitto broker

    sudo service mosquitto status or sudo systemctl status mosquitto

Cleaning Robot

  • Start one cleaning robot: gradle runCleaningRobotClient --console=plain or `./gradlew runCleaningRobotClient --console=plain``

Administrator Server

  • Start administrator server:

    gradle runAdministratorServer --console=plain or ./gradlew runAdministratorServer --console=plain

Administrator Client

  • Start administrator client:

    gradle runAdministratorClient --console=plain or ./gradlew runAdministratorClient --console=plain

Compile

First of all run gradle or ./gradlew to check that everything is OK.

Compile [java with aspectj]:

Note that .aj files must be on src/main/aspectj folder.

  • gradle :compileJava or ./gradlew :compileJava

If you want to put .aj file on the same directory of .java files, you should replace on build.gradle file compileJava.ajc.options.compilerArgs = ["-sourceroots", "../../../src/main/aspectj"] with compileJava.ajc.options.compilerArgs=["-sourceroots", sourceSets.main.java.sourceDirectories.getAsPath()]

Build

  • gradle build or ./gradlew build

About

Greenfield is a pervasive distributed system that manages Cleaning Robots deployed throughout the city. These robots act as peers, working together to autonomously navigate and clean various areas. Advanced technologies are utilized to enhance efficiency and maintain cleanliness.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages