46 lines
1.1 KiB
Markdown
46 lines
1.1 KiB
Markdown
# Zero Knowledge Platform
|
|
|
|
A zero-knowledge encrypted web application scaffold with a FastAPI backend, React + Vite frontend, and local MongoDB via Docker Compose.
|
|
|
|
## Project Layout
|
|
|
|
- `backend` - FastAPI app with async MongoDB access via Motor
|
|
- `frontend` - React application built with Vite
|
|
- `docker-compose.yml` - local MongoDB for development
|
|
|
|
## Local Development
|
|
|
|
### 1. Start MongoDB
|
|
|
|
```bash
|
|
docker compose up -d mongodb
|
|
```
|
|
|
|
The compose file runs MongoDB as a single-node replica set so the parent-delete transaction can work locally.
|
|
|
|
### 2. Backend
|
|
|
|
```bash
|
|
cd backend
|
|
python -m venv .venv
|
|
.venv\Scripts\activate
|
|
pip install -r requirements.txt
|
|
copy .env.example .env
|
|
uvicorn app.main:app --reload --port 8000
|
|
```
|
|
|
|
### 3. Frontend
|
|
|
|
```bash
|
|
cd frontend
|
|
npm install
|
|
copy .env.example .env
|
|
npm run dev
|
|
```
|
|
|
|
If you open the frontend in Chrome using `127.0.0.1` instead of `localhost`, keep the backend `CORS_ORIGINS` list aligned with that origin.
|
|
|
|
## Notes
|
|
|
|
- Secrets are never committed.
|
|
- The scaffold is intentionally minimal so later phases can add the auth, crypto, and data flow layers without changing the base layout.
|