CloudVault SaaS utilities and wrapper tooling
Project description
🌩️ CloudVault (built on ContextVault)
⚡ CloudVault is a SaaS + Desktop application built around the ContextVault core library.
It provides secure data versioning, storage, and retrieval with support for offline use, FastAPI backend,
React/Electron frontend, and seamless integration with PyPI.
📐 Architecture
Key Components
- Core Library: ContextVault 0.2.0 (handles serialization, encoding, versioning).
- Backend: FastAPI service (
cloud/app/main.py) exposing REST routes (/auth,/api/contexts). - Storage: SQLite metadata DB + filesystem ZIP storage.
- Frontend:
frontend/— web UI (React + Vite).frontend/desktop/— Electron desktop UI.
- CI/CD: GitHub Actions (
.github/workflows/ci.yml). - Tests: Pytest integration & adapter tests.
🚀 Quick Start
Backend (FastAPI)
# Create venv
python -m venv .venv
source .venv/bin/activate # PowerShell: .\.venv\Scripts\Activate.ps1
# Install deps
pip install -r cloud/requirements.txt
pip install -r cloud/requirements-dev.txt
# Run backend
uvicorn cloud.app.main:app --reload --port 8000
Open: http://127.0.0.1:8000/docs
Frontend (Web)
bash
Copy code
cd frontend
npm install
npm run dev
Open: http://localhost:5173
Desktop Client (Electron)
bash
Copy code
cd frontend/desktop
npm install
npm run dev
This launches:
Vite dev server at http://localhost:5173
Electron shell as a desktop app.
🧪 Testing
Run backend + adapter tests:
bash
Copy code
# Activate venv
.\.venv\Scripts\Activate.ps1
# Run all tests
pytest -q
Run the local CI pipeline:
bash
Copy code
powershell -ExecutionPolicy Bypass -File scripts/run_local_ci.ps1
📊 Status Tracker
Module Status
Core integration ✅ Done
Backend routes ✅ Done
End-to-end tests ✅ Passing
GitHub Actions CI ✅ Passing
Adapter extraction ✅ Done
Frontend web UI ✅ Basic OK
Desktop UI ⚠️ In progress
README ✅ Complete
Remaining:
Fix PostCSS / npm config issue in frontend/desktop.
Ensure UI buttons (upload, refresh) fully sync with backend.
🛠️ Troubleshooting
CI fails with dependency conflicts
→ Ensure cloud/requirements.txt uses:
txt
Copy code
fastapi==0.111.0
uvicorn==0.30.0
python-multipart==0.0.9
cryptography==41.0.4
httpx==0.27.0
contextvault==0.2.0
Flake8 lint noise in .venv
→ We removed Flake8 from CI to prevent vendor noise.
Desktop UI crashes (PostCSS / JSON parse)
→ Ensure package.json in frontend/desktop/ is valid JSON and no leftover corrupted files.
→ Run cleanup:
bash
Copy code
rd /s /q node_modules
del package-lock.json
npm install
📌 Next Milestones
Finalize desktop client build.
Harden CI with adapter regression tests.
Prepare public demo release.
📄 License
MIT © 2025 SURYANARAYANA BOLLAPRAGADA
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cloudvault_lite-0.1.0.tar.gz.
File metadata
- Download URL: cloudvault_lite-0.1.0.tar.gz
- Upload date:
- Size: 26.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e4f10def87a2204d79bbea67bf94404874f5193900e60699a0f8fd23f94fcffb
|
|
| MD5 |
243e89e0e8798813e97556f16c7c098b
|
|
| BLAKE2b-256 |
ede8070d3d130522fcb84bb0066619b9b1830b6c12793ceac96f4ac5c7ae1085
|
File details
Details for the file cloudvault_lite-0.1.0-py3-none-any.whl.
File metadata
- Download URL: cloudvault_lite-0.1.0-py3-none-any.whl
- Upload date:
- Size: 32.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
30338bda0733e63f7ade993b337aaf855e9c265ce354e2e10aab78767b5067fe
|
|
| MD5 |
d099f51cf8e96fd3232be0b174dc044d
|
|
| BLAKE2b-256 |
c359f555b1a5ed4f6a4b4c8ff3fec9d62fb6a0c96b082478bb44955d86d81c74
|