todolist-proto/ADR-000-requirements.adoc

65 lines
1.8 KiB
Plaintext
Raw Normal View History

2026-01-20 18:36:02 +01:00
= 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.
2026-01-20 20:34:43 +01:00
when done, run the docker compose up and check if the application is running.
2026-01-20 18:36:02 +01:00
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.
2026-01-20 20:34:43 +01:00
== 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
/*
2026-01-20 18:36:02 +01:00
== Deployment
The dockers must be deployed to gitea server to https://brokkr.robotico.dev/dalex/-/packages via python script.
== 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.
2026-01-20 18:40:33 +01:00
Readme.md must contain techstack on top.
Datamodel must be generated in mermaid diagrams.