feat: implement project launch script run.sh and update README

This commit is contained in:
2025-12-20 22:05:18 +03:00
parent e4dc3159cd
commit 58831c536a
23 changed files with 964 additions and 28 deletions

View File

@@ -36,6 +36,7 @@ A new class `ConfigManager` in `backend/src/core/config_manager.py` will handle:
- CRUD operations for environments.
- Updating global settings.
- Validating backup paths and Superset URLs.
- Enforcing system invariants (e.g., at least one environment configured).
### 1.3 API Endpoints

View File

@@ -40,9 +40,9 @@ As an administrator, I want to configure the file path or storage location for b
### Edge Cases
- **Duplicate Environments**: What happens when a user tries to add an environment with a name that already exists? (System should prevent duplicates).
- **Invalid Credentials**: How does the system handle saving environments with incorrect credentials? (System should ideally validate connection on save).
- **Path Permissions**: How does the system handle a backup path that is valid but the application lacks write permissions for? (System should check write permissions).
- **Duplicate Environments**: System MUST prevent adding an environment with a name that already exists.
- **Invalid Credentials**: System MUST validate connection on save and prevent saving if credentials are invalid.
- **Path Permissions**: System MUST verify write permissions for the backup path and display an error if inaccessible.
## Requirements *(mandatory)*
@@ -56,6 +56,7 @@ As an administrator, I want to configure the file path or storage location for b
- **FR-006**: System MUST validate the Superset URL format before saving.
- **FR-007**: System MUST verify that the Backup Storage Path is writable by the application.
- **FR-008**: System MUST allow selecting a "Default" environment for operations.
- **FR-009**: System MUST enforce that at least one environment is configured before allowing Superset-related tasks (e.g., backup, migration).
### System Invariants (Constitution Check)
@@ -65,7 +66,7 @@ As an administrator, I want to configure the file path or storage location for b
### Key Entities *(include if feature involves data)*
- **Environment**: Represents a Superset instance. Attributes: Unique ID, Name, URL, Credentials, IsDefault flag.
- **AppConfiguration**: Singleton entity representing global settings. Attributes: BackupPath, DefaultEnvironmentID.
- **AppConfig**: Singleton entity representing global settings. Attributes: BackupPath, DefaultEnvironmentID.
## Success Criteria *(mandatory)*

View File

@@ -85,6 +85,7 @@ description: "Task list for implementing the web application settings mechanism"
- [x] T019 [P] Add password masking in `backend/src/api/routes/settings.py` and UI
- [x] T020 [P] Add "Settings" link to navigation in `frontend/src/App.svelte`
- [x] T021 [P] Documentation updates for settings mechanism in `docs/`
- [x] T022 [US1] Enforce INV-002 (at least one environment) in `backend/src/core/config_manager.py` and UI
---