# Challenge Task FS 2023
## Background
This semester's challenge task (CT) is the design and implementation of a simple distributed system (of your choice) where a service instance can fail. The system needs to have the following components:
- Simple Frontend (e.g., HTML, Vue, React, Svelte)
- Loadbalancer(e.g., traefik, nginx, HAproxy, Caddy)
- Two instances of a service (your choice), and during the challenge task presentation, one instance will be shut off.
- One storage backend

## Requirements
- Load balancing with scalable service
- Failover of a service instance
- Dockerized and Frontend connects via HTTP/3
- Persistant storage (storage does not need to be scalable, but you can build it scalable if you want)
- Use latest stable releases of chosen libraries and frameworks

The solution may use existing libraries and code, but those must open software.
You are allowed to use any language, framework, and platforms. 
However, the supervisors are familiar with those: Java, Golang, JavaScript, Linux.

## Our Idea
Our goal is to develop a .NET Blazor application that uses GPT-3.5 to suggest recipe ideas based on user-specified preferences. The user should write as little text as possible themselves and have the choices presented in a simplified way with the help of a user interface. 
All created recipes are stored in a database so that they can be accessed again in the future.

In addition, the application could be extended to AI-powered health coaching that provides users with personalized recommendations for diet, exercise and other health-related support.
