# Caut Partener
**RO** — Rețea socială peer-to-peer, criptată integral: profiluri, contacte, postări și
conversații replicate direct între dispozitivele membrilor (WebRTC + libp2p + OrbitDB),
fără servere de aplicație și fără conturi centrale. Aplicația este un PWA instalabil,
servit ca fișiere statice prin IPFS la [cautpartener.ro](https://cautpartener.ro).
**EN** — A serverless, end-to-end-encrypted peer-to-peer social network: profiles,
contacts, posts and chats replicate directly between members' devices (WebRTC + libp2p +
OrbitDB), with no application servers and no central accounts. The app is an installable
PWA served as static files over IPFS at [cautpartener.ro](https://cautpartener.ro).
## Dev / Dezvoltare
```sh
cd client
npm install
npm run dev # vite dev server → http://localhost:5173
npm run build # tsc --noEmit + vite build → client/dist
npm run preview # serve the production build → http://localhost:4173
npm run icons # regenerate public/icons from scripts/make-icons.mjs
npm run release # bump version.json (patch) + build
```
## Two-browser test / Test cu două browsere
*(placeholder — the p2p stack goes live in a later milestone / scenariul devine
funcțional într-o etapă viitoare)*
1. Open http://localhost:5173 in two different browsers (or one normal + one private window).
2. Create an identity in each, exchange an invite link, and verify the two peers
see each other's messages with the relay as the only intermediary.
## Layout
- `client/` — the PWA (Vite + TypeScript, no framework)
- `client/src/lib/` — the shared p2p core (crypto, libp2p/OrbitDB, mailbox), reused verbatim
- `client/src/app/` — the Caut Partener UI on top
- `site/` — landing page for the source-publishing domain (cod-sursa)
- `docs/` — protocol and roadmap
MIT licensed.