feat(notify-bridge): phase 1 - project scaffolding

Set up the Notify Bridge project structure:
- packages/core (notify_bridge_core) with provider, model, notification, template packages
- packages/server (notify_bridge_server) with FastAPI skeleton and health endpoint
- frontend with SvelteKit 2, Svelte 5, Tailwind CSS v4, static adapter
- Root configs: .gitignore, README.md, CLAUDE.md

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-19 22:30:06 +03:00
commit b724447f4d
29 changed files with 4525 additions and 0 deletions
@@ -0,0 +1 @@
"""Notify Bridge Server — FastAPI REST API with SQLite database."""
@@ -0,0 +1 @@
"""API route modules."""
@@ -0,0 +1 @@
"""Authentication — JWT, login, user management."""
@@ -0,0 +1,12 @@
"""Server configuration — settings, data directory, secrets."""
import os
from pathlib import Path
DATA_DIR = Path(os.environ.get("NOTIFY_BRIDGE_DATA_DIR", "./data"))
SECRET_KEY = os.environ.get("NOTIFY_BRIDGE_SECRET_KEY", "")
DATABASE_URL = os.environ.get(
"NOTIFY_BRIDGE_DATABASE_URL",
f"sqlite+aiosqlite:///{DATA_DIR / 'notify_bridge.db'}",
)
@@ -0,0 +1 @@
"""Database engine and models."""
@@ -0,0 +1,15 @@
"""Notify Bridge Server — FastAPI application entry point."""
from fastapi import FastAPI
app = FastAPI(title="Notify Bridge", version="0.1.0")
@app.get("/api/health")
async def health():
return {"status": "ok"}
def run():
import uvicorn
uvicorn.run(app, host="0.0.0.0", port=8420)
@@ -0,0 +1 @@
"""Business logic services — scheduler, watcher, notifier."""