Files
dance-lessons-coach/adr
Gabriel Radureau 69e7c44eb2 📝 docs: add comprehensive user management ADR and technical documentation
Added ADR-0018 for User Management and Authentication System with:
- Non-persisted admin user with master password authentication
- JWT-based authentication with bcrypt password hashing
- PostgreSQL database schema and GORM integration
- Admin-assisted password reset workflow
- Comprehensive security considerations

Added ADR-0019 for BDD Feature Structure:
- Epic/User Story organization pattern
- Unified development workflow
- Source of truth hierarchy

Added ADR-0020 for Docker Build Strategy:
- Multi-stage build approach
- Cache optimization strategy
- Production vs development build differences

Added technical documentation:
- Complete user management system specification
- API endpoints and integration details
- Security architecture and best practices

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-04-09 00:25:35 +02:00
..

Architecture Decision Records (ADRs)

This directory contains Architecture Decision Records (ADRs) for the dance-lessons-coach project.

What is an ADR?

An ADR is a document that captures an important architectural decision made along with its context and consequences.

Format

Each ADR follows this structure:

# [Short title is a few words]

* Status: [Proposed | Accepted | Deprecated | Superseded]
* Deciders: [List of decision makers]
* Date: [YYYY-MM-DD]

## Context and Problem Statement

[Describe the context and problem statement]

## Decision Drivers

* [Driver 1]
* [Driver 2]
* [Driver 3]

## Considered Options

* [Option 1]
* [Option 2]
* [Option 3]

## Decision Outcome

Chosen option: "[Option 1]" because [justification]

## Pros and Cons of the Options

### [Option 1]

* Good, because [argument a]
* Good, because [argument b]
* Bad, because [argument c]

### [Option 2]

* Good, because [argument a]
* Good, because [argument b]
* Bad, because [argument c]

## Links

* [Link type] [Link to ADR]
* [Link type] [Link to ADR]

ADR List

How to Add a New ADR

  1. Create a new file with the next available number (e.g., 0010-new-decision.md)
  2. Follow the template format
  3. Update this README.md with the new ADR
  4. Commit the changes

Status Legend

  • Proposed: Decision is being discussed
  • Accepted: Decision has been made and implemented
  • Deprecated: Decision is no longer relevant
  • Superseded: Decision has been replaced by another ADR