Skip to main content

CloudVault SaaS utilities and wrapper tooling

Project description

🌩️ CloudVault (built on ContextVault)

CI PyPI version License

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

Architecture Diagram

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cloudvault_lite-0.1.0.tar.gz (26.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cloudvault_lite-0.1.0-py3-none-any.whl (32.4 kB view details)

Uploaded Python 3

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

Hashes for cloudvault_lite-0.1.0.tar.gz
Algorithm Hash digest
SHA256 e4f10def87a2204d79bbea67bf94404874f5193900e60699a0f8fd23f94fcffb
MD5 243e89e0e8798813e97556f16c7c098b
BLAKE2b-256 ede8070d3d130522fcb84bb0066619b9b1830b6c12793ceac96f4ac5c7ae1085

See more details on using hashes here.

File details

Details for the file cloudvault_lite-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for cloudvault_lite-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 30338bda0733e63f7ade993b337aaf855e9c265ce354e2e10aab78767b5067fe
MD5 d099f51cf8e96fd3232be0b174dc044d
BLAKE2b-256 c359f555b1a5ed4f6a4b4c8ff3fec9d62fb6a0c96b082478bb44955d86d81c74

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page