-- ☁️ ✇ - ✇ - ✇ ☁️ --
Table of Contents
A collaborative and interactive wind farm simulator. This project was done during the summer semester 2023 at ifgi.
This project is based on the existing future mobility project from Imaginary and adapted it towards the aim of this project.
It consists of multiple components, which will be explained in the following.
The website allows users to arrange a 16x16 grid with certain areas. These areas include green spaces as water areas and parks, infrastructure as roads and residentials and windturbines of two different sizes. The initial layout is all parks as you can see in the image.
With the buttons on the right the user can select an area type and then change tiles by clicking on them. Right to the grid are smileys that display how satisfied certain conditions are, the amount of green spaces, the amount of wind turbines and the distances towards one another.
Below the smileys are acteurs displayed, that tell, when some conditions are true. They tell the user what is missing in the current layout. On example for this are citizens that say there is not enoug elecrticity. Therefore, there needs to be build more wind turbines.
Together with all these options, the user has the goal, to build the best possible layout to fulfill all goals and leave averyone involved satisfied.
- npm
npm install npm@latest -g
- http-server
npm install --global http-server
- Clone the repo
git clone https://github.com/Lorano and Laxeros07/windpark-simulator.git
- Install NPM packages in both the root directory and the
server
directory.npm install
- You can use the following commands in the root directory to build the client apps. The
server does not require compilation.
or
npm run build
npm run watch
-
Start the server by running
npm run start
in the
server
directory. -
Start the frontend by running
http-server -c-1
in the root directory.
The clients, in the root directory, are:
-
city.html
: Presents the city map, to be projected over the exhibition table. -
dashboard.html
: Shows the auxiliary touchscreen dashboard that displays variables and goals, and allows selecting Power-Ups. -
editor.html
: An editor that pushes changes to the server. Note that it doesn't read updates from the server, so it's not possible to use multiple editors simulatenously. It's only meant for use during development. -
index.html
: This is a standalone browser version of the software.
The main configuration file is config.yml
. The server has to be reloaded after any changes.
Clients get the configuration from the server through the http API and have to be reloaded after
the server to take any changes.
The .env file has other configuration keys that affect the environment.
Use this space to show useful examples of how a project can be used. Additional screenshots, code examples and demos work well in this space. You may also link to more resources.
For more examples, please refer to the Documentation
The server has both an HTTP and a WebSocket API. Their specifications are:
- http:
specs/openapi.yaml
- ws:
specs/asyncapi.yaml
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Copyright (c) 2021 IMAGINARY gGmbH Licensed under the MIT license (see LICENSE) Supported by Futurium gGmbH
Distributed under the MIT License. See LICENSE.txt
for more information.
Eva Langstein - [email protected] Anne Staskiewicz - [email protected]
Project Link: https://github.com/Bachelor-thesis-windpark-simulator/windpark-simulator