/todo-app

Todo App

Primary LanguageGoMIT LicenseMIT

Todo App

Todo App is a hobby project that is primarily focused around being a playground for experimenting with different technologies.

Application Architecture

Todo App Architecture

Secrets Management

This repository uses SOPS with age for managing secrets.

See Configuration and Secrets Management for details.

Reverse Proxy

Real-Time Messaging

Workflow Engine

Monitoring Stack

Identity and Access Management

Running the App Locally

  1. Add the following entries to your /etc/hosts file:
127.0.0.1    todo-app.com
127.0.0.1    auth.todo-app.com
127.0.0.1    centrifugo.todo-app.com
127.0.0.1    temporal.todo-app.com
127.0.0.1    grafana.todo-app.com
127.0.0.1    alloy.todo-app.com
127.0.0.1    faro.todo-app.com
127.0.0.1    minio.todo-app.com
  1. Make sure you have the unencrypted secrets in the env directory. See Configuration and Secrets Management for details.

  2. Run Docker Compose

docker compose up --build -d
  1. Open the App in browser: http://todo-app.com
    • Normal user:
      • username: demouser
      • password: S3c_r3t!
    • Viewer (read-only) user:
      • username: demoviewer
      • password: S3c_r3t!

Tools

JSON Schema Generator

The app uses JSON Schema for message validation. See json-schema-generator for details.