Go to file
Sergej Kern f65a7b5656 initial commit 2026-01-20 18:36:02 +01:00
.gitignore initial commit 2026-01-20 18:36:02 +01:00
ADR-000-requirements.adoc initial commit 2026-01-20 18:36:02 +01:00
README.md initial commit 2026-01-20 18:36:02 +01:00

README.md

Dalex Todo Prototype

A full-stack todo application with Vue3 frontend and ASP.NET Core backend, secured with Keycloak authentication.

Features

  • Frontend: Vue3 with TypeScript and Tailwind CSS
  • Backend: ASP.NET Core 9.0 Minimal APIs with SQLite
  • Authentication: Keycloak integration
  • Containerization: Docker and Docker Compose

Prerequisites

Getting Started

Running with Docker Compose

  1. Clone the repository
  2. Run the application:
docker-compose up --build
  1. Access the application:

Development Mode

Backend

cd backend
dotnet restore
dotnet run

Frontend

cd frontend
npm install
npm run dev

Architecture

Backend (ASP.NET Core)

  • Minimal APIs architecture
  • SQLite database for data persistence
  • JWT authentication via Keycloak
  • RESTful API endpoints for CRUD operations

Frontend (Vue3)

  • TypeScript for type safety
  • Tailwind CSS for styling
  • Keycloak-js for authentication
  • Axios for API calls

API Endpoints

  • GET /api/todos/recent - Get recent todos (excludes completed todos older than 1 week)
  • GET /api/todos - Get all todos
  • POST /api/todos - Create a new todo
  • PUT /api/todos/{id} - Update a todo
  • DELETE /api/todos/{id} - Delete a todo

All endpoints require authentication.

Todo Features

  • Add, edit, and delete todos
  • Mark todos as completed with timestamps
  • Sort todos: incomplete (older first) at top, completed at bottom
  • Filter: Hide completed todos older than 1 week (show via button)
  • Each user has their own todos (multi-tenant)

Configuration

Keycloak

The application is configured to use Keycloak at https://terminus.bluelake.cloud/ with:

  • Realm: dalex-immo-dev
  • Client ID: dalex-proto

Ports

  • Frontend: 3030
  • Backend: 5050

License

MIT

Deployment

For deploying Docker images to the Gitea package registry at https://brokkr.robotico.dev/dalex/-/packages, see DEPLOYMENT.md.

Development

Before deployment, create a .env file in the project root:

PUBLISH_TOKEN=your_gitea_token_here

See .env.example for template. The .env file is git-ignored and will never be overwritten.