The Autonomous Greenhouse Simulation is a simulation of a greenhouse. In the greenhouse are some robots which can harvest the plants. The robots are controlled by a unit called the "Roboterleitsystem" or in english robot-control-system. (Has to be translated to english)
This Project is an example-project for an event-driven system written in Java. It was a semester-project for university and can be used as base for any event-driven, heavy observer-pattern based software-project. It uses JAVA-FX as GUI-Framework and also bundles the test-framework mockito and junit 4. The aim of the program was to design a system and to implement unit-tests as well as integration- and system-tests. This project has only educational or fun purpose. The idea of the program is that you have an idea how to implement an event-driven system with javafx-gui and how a documented and tested software should look like.
Just build and run the FXGUI.class in the src/fxGUI package
You can run it and add "Unteraufträge" to the system. This means that the roboters get something to do like harvest all ripe plants or plants of a certain type. There are to date cucumbers and tomatoes.
- translate the program from german to english (Refactor all variable and method-names and the whole javadoc)
- extend the gui (some functionality is already implemented but not callable from the gui)
- add Roboters from the gui
- rescale the greenhouse-canvas during runtime
- remove plants from the gui
- direct interaction with the canvas
We are alwas open towards ideas from your side. This project is and will remain a fun project with a little educative content. But if you might have a funny idea or a useful function which you think deserves to be in this project the we will propably put your code into the project. Also if you find bugs or think that there are some enhancements to the software, feel open to contribute your changes. If you want to contribute but have no idea what to do: Just take a look at the todo-list. There are several things to do in this project which require more or less skill in software-development with java.
- Benjamin Junker
- Jannik Best
- Nick Teschner
- Paul Grundmann