diff --git a/docs/wiki/Development-da.md b/docs/wiki/Development-da.md new file mode 100644 index 0000000..2707655 --- /dev/null +++ b/docs/wiki/Development-da.md @@ -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. diff --git a/docs/wiki/Home-da.md b/docs/wiki/Home-da.md new file mode 100644 index 0000000..b9a95bc --- /dev/null +++ b/docs/wiki/Home-da.md @@ -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). diff --git a/docs/wiki/Installation-da.md b/docs/wiki/Installation-da.md new file mode 100644 index 0000000..88128f7 --- /dev/null +++ b/docs/wiki/Installation-da.md @@ -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 +``` diff --git a/docs/wiki/Usage-da.md b/docs/wiki/Usage-da.md new file mode 100644 index 0000000..f7510da --- /dev/null +++ b/docs/wiki/Usage-da.md @@ -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" + } +} +```