mirror of
https://github.com/PR0M3TH3AN/SeedPass.git
synced 2025-09-08 07:18:47 +00:00
docs: describe architecture
This commit is contained in:
31
README.md
31
README.md
@@ -21,6 +21,7 @@ SeedPass now uses the `portalocker` library for cross-platform file locking. No
|
|||||||
## Table of Contents
|
## Table of Contents
|
||||||
|
|
||||||
- [Features](#features)
|
- [Features](#features)
|
||||||
|
- [Architecture Overview](#architecture-overview)
|
||||||
- [Prerequisites](#prerequisites)
|
- [Prerequisites](#prerequisites)
|
||||||
- [Installation](#installation)
|
- [Installation](#installation)
|
||||||
- [1. Clone the Repository](#1-clone-the-repository)
|
- [1. Clone the Repository](#1-clone-the-repository)
|
||||||
@@ -65,9 +66,39 @@ SeedPass now uses the `portalocker` library for cross-platform file locking. No
|
|||||||
- **Relay Management:** List, add, remove or reset configured Nostr relays.
|
- **Relay Management:** List, add, remove or reset configured Nostr relays.
|
||||||
- **Offline Mode:** Disable all Nostr communication for local-only operation.
|
- **Offline Mode:** Disable all Nostr communication for local-only operation.
|
||||||
|
|
||||||
|
|
||||||
A small on-screen notification area now shows queued messages for 10 seconds
|
A small on-screen notification area now shows queued messages for 10 seconds
|
||||||
before fading.
|
before fading.
|
||||||
|
|
||||||
|
## Architecture Overview
|
||||||
|
|
||||||
|
SeedPass follows a layered design. The **`seedpass.core`** package exposes the
|
||||||
|
`PasswordManager` along with service classes (e.g. `VaultService` and
|
||||||
|
`EntryService`) that implement the main API used across interfaces.
|
||||||
|
The command line tool in **`seedpass.cli`** is a thin adapter built with Typer
|
||||||
|
that delegates operations to this API layer.
|
||||||
|
|
||||||
|
The BeeWare desktop interface lives in **`seedpass_gui.app`** and can be
|
||||||
|
started with either `seedpass-gui` or `python -m seedpass_gui`. It reuses the
|
||||||
|
same service objects to unlock the vault, list entries and search through them.
|
||||||
|
|
||||||
|
An optional browser extension can communicate with the FastAPI server exposed by
|
||||||
|
`seedpass.api` to manage entries from within the browser.
|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
graph TD
|
||||||
|
core["seedpass.core"]
|
||||||
|
cli["CLI"]
|
||||||
|
api["FastAPI server"]
|
||||||
|
gui["BeeWare GUI"]
|
||||||
|
ext["Browser Extension"]
|
||||||
|
|
||||||
|
cli --> core
|
||||||
|
gui --> core
|
||||||
|
api --> core
|
||||||
|
ext --> api
|
||||||
|
```
|
||||||
|
|
||||||
## Prerequisites
|
## Prerequisites
|
||||||
|
|
||||||
- **Python 3.8+** (3.11 or 3.12 recommended): Install Python from [python.org](https://www.python.org/downloads/) and be sure to check **"Add Python to PATH"** during setup. Using Python 3.13 is currently discouraged because some dependencies do not ship wheels for it yet, which can cause build failures on Windows unless you install the Visual C++ Build Tools.
|
- **Python 3.8+** (3.11 or 3.12 recommended): Install Python from [python.org](https://www.python.org/downloads/) and be sure to check **"Add Python to PATH"** during setup. Using Python 3.13 is currently discouraged because some dependencies do not ship wheels for it yet, which can cause build failures on Windows unless you install the Visual C++ Build Tools.
|
||||||
|
Reference in New Issue
Block a user