= dalex-todo-proto
:toc: left
:toclevels: 3

== Overview

A prototype for the dalex-todo application.

Vue3 frontend with Tailwind CSS and TypeScript.

ASP.NET Core Minimal APIs .net 10 backend with SQLite database.


when done, run the docker compose up and check if the application is running.


frontend and backend and the db are dockerized.

frontend shall run an port 3030, backend shall run on port 5050.

each user shall have its own todos.

user must be able to see the list of todos, be able to add new todos, be able to edit and delete todos. user must be able to mark todos as completed. each todo has a created and done timestamp.

todos that are old but not done shall be listed on top. done todos shall be listed at the bottom.
todos that were done last week or older shall be not appear on the first page, but shall be accessible via a button "show older todos".

every single page must be protected by Keycloak authentication.

== KeyCloak


Keycloak authentication.

Keycloak server is https://terminus.bluelake.cloud/

The keycloak realm is "dalex-immo-dev" and the client id is "dalex-proto".

Root URL is set to http://localhost:3030/

Valid redirect URIs are set to
http://localhost:3030/*
http://localhost:3030/
http://localhost:3030
/*

Valid post logout redirect URIs are set to
http://localhost:3030/
http://localhost:3030

web origins are set to
http://localhost:3030
/*

== Deployment

The dockers must be deployed to gitea server to https://brokkr.robotico.dev/dalex/-/packages via python script.

✅ Images Pushed:
brokkr.robotico.dev/dalex/dalex-todo-backend:latest
brokkr.robotico.dev/dalex/dalex-todo-frontend:latest

== Development

We expect a .env file to be present in the root directory. It contains PUBLISH_TOKEN with access to the gitea server. The .env file must never be overwritten.
a .gitignore must be created and include relevant filters for this project.
Readme.md must contain techstack on top.

Datamodel must be generated in mermaid diagrams.