xConfess is a monorepo for an anonymous confession platform built with NestJS, Next.js 16, PostgreSQL, Redis-backed queues, WebSockets, and Soroban smart contracts on Stellar.
xconfess-backend: API, auth, moderation, notifications, data export, and Stellar integrationxconfess-frontend: App Router UI, cookie-backed auth/session handling, proxy routes, and admin surfacesxconfess-contracts: Soroban Rust workspace for confession anchoring, tipping, and reputation-related contractscompose.yaml: local Postgres and Redis stack for development
- anonymous confession feed and composer
- reactions, comments, and private messaging
- admin moderation, reports, analytics, and user management
- privacy settings, notifications, and profile flows
- Stellar anchoring, tipping, and contract invocation tooling
- audit logging and data export
- The frontend does not use NextAuth.
- Auth is cookie/session based, with a dev-only bypass flag:
NEXT_PUBLIC_DEV_BYPASS_AUTH=true. - The frontend talks to the backend through App Router proxy routes and
credentials: "include". - Redis is required for queue-backed features such as notifications and export jobs.
- Some export and Stellar workflows are still being hardened; see the open issues for the current backlog.
-
Install dependencies from the repo root:
npm install
-
Start PostgreSQL and Redis, for example:
docker compose -f compose.yaml up -d
-
Configure
xconfess-backend/.envandxconfess-frontend/.env.local. -
Run the app:
npm run dev
Default local ports:
- Frontend:
http://localhost:3000 - Backend:
http://localhost:5000
npm run backend:buildnpm run backend:testnpm run frontend:buildnpm run frontend:testnpm run contract:testnpm run ci
xConfess participates in Stellar Wave. Check the open issues for work tagged Stellar Wave, then coordinate before opening a PR.
xconfess-backend/README.mdxconfess-frontend/README.mdxconfess-contracts/README.md