This repo contains good-practice, code-snippets and other resources for the Energiewendebauen Hackathon 2024 (ewb-hackathon). The goal of this repo is to provide a starting point for participants to build their projects and give researchers orientation on how to set up their repositories. For this reason, everything in this repo is documented in more detail than is typically the case.As with any example, there are always exceptions and the repo serves as a guide so that it can and must be adapted to the needs of the software project. For example, not every project requires a public folder, as not every project has static content delivery files.
There are two exemplary questions that the participants will be asked to answer:
- How can we create a datapipeline, that enables querying data from different CityGML sources?
- How can we help urban planners identify rooftop areas available for PV installation?
hackathon-project/
├── README.md # Project overview, setup, usage, and contributions
├── LICENSE # License file
├── .gitignore # Git ignore file
├── .github/ # Github specific files
│ ├── CODEOWNERS # Codeowners file
│ └── CONTRIBUTING.md # Contributing guidelines
├── docs/
│ ├── setup.md # Setup instructions
│ ├── api.md # API documentation
│ ├── good-practice.md # Good Practice for Software Development
│ └── architecture.md # Architecture overview
├── data/ # Data files
├── src/
│ ├── client/ # Frontend code
│ ├── server/ # Backend code
│ └── components/ # Reusable code components
├── public/
│ ├── index.html # HTML entry point
│ └── css/ # CSS files
├── tests/
│ ├── unit/ # Unit tests
│ ├── integration/ # Integration tests
│ └── e2e/ # End-to-end tests
├── config/
│ ├── env.sample # Example environment variables
│ └── config.json # Project configuration file
├── assets/ # Non-code assets like images, fonts, icons
└── scripts/
├── deploy.sh # Deployment script
└── setup.sh # Environment setup script
We assume git, python and docker are installed on your machine.
As this is a hackathon project, the project structure is not yet fully defined. This will be updated in the future.
- Clone the repository:
git clone https://github.com/username/repo-name.git
- Navigate to the project directory:
cd repo-name
- Install the dependencies / set up the environment:
npm install
- Set up environment variables by renaming
.env.sample
to.env
and updating the values.
Beside the two exemplary questions, we also welcome any other ideas for projects that you think would be helpful for the participants. Do you have any good practices, code-snippets or other resources that you think would be helpful for the participants? Please let us know! See the CONTRIBUTING.md file for more information on how to contribute to this repo.
The Style guide for the project can be viewed here.
This repository is licensed under MIT License.
We gratefully acknowledge the financial support by the Federal Ministry for Economic Affairs and Climate Action (BMWK), promotional reference: 03EWB004A.We are grateful for the support by the project NEED - Neue Daten für die Energiewende and the project NFDI4Energy.