MIL-003 Documentation and Publishing #25

Merged
Tirsvad merged 8 commits from mil-003-documentation-and-publishing into main 2026-10-14 15:32:07 +02:00
4 changed files with 163 additions and 0 deletions
Showing only changes of commit 40d653113f - Show all commits
+47
View File
@@ -0,0 +1,47 @@
[English](Development) · **Dansk** · [Bahasa Malaysia](Development-ms)
# Udvikling
## Opbygning
| Mappe | Indhold |
| --- | --- |
| `src/password_manager/domain` | Post, adgangskodegenerator og fejl; ingen ind- eller udlæsning |
| `src/password_manager/application` | Use cases og lagerporten |
| `src/password_manager/infrastructure` | JSON-lageret |
| `src/password_manager/presentation` | MVVM-visningen og visningsmodellen |
| `src/password_manager/constants.py` | Alle konstanter og beskeder |
| `tests/` | `unit`-, `integration`- og `e2e`-tests |
| `tools/` | `capture_screenshots.py` |
Importer peger indad; kun `main.py` forbinder lagene.
## Tests og lint
```bash
python -m pytest
python -m ruff format src tests tools
python -m ruff check src tests tools
```
## Kildedokumentation
Kommentarerne er i Doxygen-stil. Byg HTML med `doxygen Doxyfile`; den åbnes på
`docs/doxygen/html/index.html`.
## Skærmbilleder
På Windows med det virtuelle miljø aktivt:
```bash
python tools/capture_screenshots.py
```
Billederne skrives til `docs/images/` fra det rigtige vindue og en midlertidig
datafil.
## Projektdokumenter
Projektet følger en planlæg-først-arbejdsgang: Business Case, interessentanalyse,
projektplan og milepæle ligger i `docs/`. Arbejdet udføres på én gren og én pull
request pr. milepæl.
+27
View File
@@ -0,0 +1,27 @@
[English](Home) · **Dansk** · [Bahasa Malaysia](Home-ms)
# Password Manager
En lille Tkinter-adgangskodemanager fra dag 30 af Udemys "100 Days of Code: The
Complete Python Pro Bootcamp". Den genererer adgangskoder, gemmer dem i en
JSON-fil og søger efter dem på websted.
![Hovedvinduet](https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/030-password-manager/raw/branch/main/docs/images/main-window.png)
## Hvad den gør
- **Genererer** en tilfældig adgangskode og kopierer den til udklipsholderen.
- **Tilføjer** et websted, en e-mailadresse og en adgangskode til `data.json`.
- **Søger** efter et websted og viser den gemte e-mailadresse og adgangskode.
- Kører videre, når `data.json` mangler, er tom eller er beskadiget.
> **Sikkerhedsnote.** Adgangskoderne gemmes som almindelig JSON og er ikke
> krypterede. Det er et læringsprojekt; brug det ikke til rigtige adgangskoder.
## Sider
- [Installation](Installation-da)
- [Brug](Usage-da)
- [Udvikling](Development-da)
Kildekode og opgaver: [repository](https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/030-password-manager).
+39
View File
@@ -0,0 +1,39 @@
[English](Installation) · **Dansk** · [Bahasa Malaysia](Installation-ms)
# Installation
## Krav
- Python 3.13 eller nyere med Tkinter. På Debian eller Ubuntu installeres
`python3-tk`.
- `venv` og `pip`, som begge er en del af Python.
- Ingen afhængigheder i drift.
## Opret et lokalt virtuelt miljø
Windows (PowerShell):
```powershell
python -m venv .venv
.venv/Scripts/Activate.ps1
python -m pip install --upgrade pip
python -m pip install -e ".[dev]"
```
Linux og macOS:
```bash
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install -e ".[dev]"
```
Tillægget `[dev]` installerer pytest og ruff. Udelad det
(`python -m pip install -e .`), hvis du kun vil køre programmet.
## Kontrollér installationen
```bash
python -m pytest
```
+50
View File
@@ -0,0 +1,50 @@
[English](Usage) · **Dansk** · [Bahasa Malaysia](Usage-ms)
# Brug
Start programmet med det virtuelle miljø aktivt:
```bash
python -m password_manager
```
Programmet gemmer sine data i `data.json` i den mappe, du starter det fra.
## Generér og tilføj en adgangskode
1. Skriv webstedet.
2. Tryk på **Generate Password**. En adgangskode indsættes og kopieres til
udklipsholderen.
3. Kontrollér e-mailadressen og tryk på **Add**. Bekræft dialogen, så gemmes
posten.
![Hovedvinduet efter Generate Password](https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/030-password-manager/raw/branch/main/docs/images/main-window.png)
![Bekræftelsen før en post gemmes](https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/030-password-manager/raw/branch/main/docs/images/add-confirmation.png)
Hvis et felt er tomt, vises en advarsel, og intet gemmes.
## Søg
Skriv et websted og tryk på **Search**. Den gemte e-mailadresse og adgangskode
vises.
![Søgningen finder et gemt websted](https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/030-password-manager/raw/branch/main/docs/images/search-found.png)
Hvis der ikke er gemt noget for webstedet, eller datafilen endnu ikke findes,
fortæller en besked det.
![Søgning efter et ukendt websted](https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/030-password-manager/raw/branch/main/docs/images/search-not-found.png)
## Datafilen
`data.json` indeholder én post pr. websted:
```json
{
"example.com": {
"email": "jens@example.com",
"password": "Sample#Pass123"
}
}
```