Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 1 addition & 3 deletions .claude/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,6 @@
"Bash(git add *)",
"Bash(echo \"exit: $?\")"
],
"additionalDirectories": [
"/private/tmp"
]
"additionalDirectories": ["/private/tmp"]
}
}
3 changes: 3 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
## Description

<!-- Briefly describe the changes introduced by this PR -->

## Type of change

- [ ] Bug fix
- [ ] New feature
- [ ] Documentation update
- [ ] Other

## Checklist

- [ ] I have read the contributing guidelines
- [ ] I have tested my changes locally
- [ ] My code follows the project's coding standards
87 changes: 45 additions & 42 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,12 @@ Built on blockchain infrastructure and modern messaging protocols, the platform

## ✨ Core Capabilities

* 💬 Real-time wallet-to-wallet messaging
* 💸 Send and receive tokens directly in chat
* 👥 Group treasuries for shared funds
* 🧾 Proposal creation and community funding
* 🗳️ Lightweight DAO-style voting
* 🤖 AI-powered insights (fraud detection, proposal analysis, smart assistants)
- 💬 Real-time wallet-to-wallet messaging
- 💸 Send and receive tokens directly in chat
- 👥 Group treasuries for shared funds
- 🧾 Proposal creation and community funding
- 🗳️ Lightweight DAO-style voting
- 🤖 AI-powered insights (fraud detection, proposal analysis, smart assistants)

---

Expand All @@ -29,50 +29,49 @@ To create a **financial coordination layer for communities**, where communicatio

## 🖥️ Frontend

* Next.js (React + TypeScript)
* TailwindCSS

- Next.js (React + TypeScript)
- TailwindCSS

---

## ⚙️ Backend

* Node.js (Express)
* WebSockets (Socket.IO)
* PostgreSQL (persistent storage)
* Redis (pub/sub, caching)
- Node.js (Express)
- WebSockets (Socket.IO)
- PostgreSQL (persistent storage)
- Redis (pub/sub, caching)

---

## 🔗 Blockchain

* Smart Contracts (Soroban)
* stellar-sdk (interaction layer)
* Event listeners for syncing on-chain activity
- Smart Contracts (Soroban)
- stellar-sdk (interaction layer)
- Event listeners for syncing on-chain activity

---

## 🤖 AI Layer

* Python (FastAPI)
* LLM APIs
* Vector DB (Weaviate)
- Python (FastAPI)
- LLM APIs
- Vector DB (Weaviate)

---

## 💬 Messaging Infrastructure

* XMTP (or similar Web3 messaging protocol)
* Optional WebRTC for peer-to-peer communication
- XMTP (or similar Web3 messaging protocol)
- Optional WebRTC for peer-to-peer communication

---

## 🧰 Dev Tools

* Turborepo (monorepo management)
* Docker (containerization)
* ESLint + Prettier (code quality)
* Jest / Vitest (testing)
- Turborepo (monorepo management)
- Docker (containerization)
- ESLint + Prettier (code quality)
- Jest / Vitest (testing)

---

Expand All @@ -82,12 +81,11 @@ To create a **financial coordination layer for communities**, where communicatio

Make sure you have installed:

* Node.js (>= 18)
* pnpm
* uv (Python Package Manager)
* Stellar CLI (for Soroban Smart Contracts)
* Docker (optional but recommended)

- Node.js (>= 18)
- pnpm
- uv (Python Package Manager)
- Stellar CLI (for Soroban Smart Contracts)
- Docker (optional but recommended)

---

Expand Down Expand Up @@ -116,11 +114,13 @@ cp .env.example .env
### Start all services

First, start the local database and redis container:

```bash
docker compose -f infra/docker-compose.yml up -d
```

Then, run the node apps (Web and Backend):

```bash
pnpm run dev
```
Expand Down Expand Up @@ -164,41 +164,44 @@ We welcome contributions from developers, designers, and researchers.
```bash
git checkout -b feature/your-feature-name
```

3. Make your changes
4. Commit your changes

```bash
git commit -m "feat: add new feature"
```

5. Push to your fork

```bash
git push origin feature/your-feature-name
```

6. Open a Pull Request

---

## 🧭 Contribution Guidelines

* Follow existing code style and structure
* Write clear and concise commit messages
* Add tests where necessary
* Keep PRs small and focused
* Document new features or changes
- Follow existing code style and structure
- Write clear and concise commit messages
- Add tests where necessary
- Keep PRs small and focused
- Document new features or changes

---


## 💡 Areas to Contribute

* Smart contract development
* Frontend UX improvements
* AI agent development
* Security enhancements
* Performance optimization
- Smart contract development
- Frontend UX improvements
- AI agent development
- Security enhancements
- Performance optimization

---

# 📜 License

MIT License
Expand Down
2 changes: 1 addition & 1 deletion apps/backend/docs/e2ee-onboarding.md
Original file line number Diff line number Diff line change
Expand Up @@ -543,4 +543,4 @@ To fully implement the flow described in the issue, backend work still needs rou
- encrypted envelope submit/store/deliver
- explicit multi-device fanout semantics for first-contact DM

This document is written so those routes can be added without changing the already implemented onboarding JSON and ordering contract.
This document is written so those routes can be added without changing the already implemented onboarding JSON and ordering contract.
4 changes: 2 additions & 2 deletions apps/backend/drizzle.config.d.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
declare const _default: import("drizzle-kit").Config;
declare const _default: import('drizzle-kit').Config;
export default _default;
//# sourceMappingURL=drizzle.config.d.ts.map
//# sourceMappingURL=drizzle.config.d.ts.map
18 changes: 5 additions & 13 deletions apps/backend/drizzle/meta/0000_snapshot.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,7 @@
"users_username_unique": {
"name": "users_username_unique",
"nullsNotDistinct": false,
"columns": [
"username"
]
"columns": ["username"]
}
},
"policies": {},
Expand Down Expand Up @@ -102,12 +100,8 @@
"name": "wallets_user_id_users_id_fk",
"tableFrom": "wallets",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"columnsFrom": ["user_id"],
"columnsTo": ["id"],
"onDelete": "cascade",
"onUpdate": "no action"
}
Expand All @@ -117,9 +111,7 @@
"wallets_address_unique": {
"name": "wallets_address_unique",
"nullsNotDistinct": false,
"columns": [
"address"
]
"columns": ["address"]
}
},
"policies": {},
Expand All @@ -138,4 +130,4 @@
"schemas": {},
"tables": {}
}
}
}
55 changes: 14 additions & 41 deletions apps/backend/drizzle/meta/0001_snapshot.json
Original file line number Diff line number Diff line change
Expand Up @@ -41,25 +41,17 @@
"name": "conversation_members_conversation_id_conversations_id_fk",
"tableFrom": "conversation_members",
"tableTo": "conversations",
"columnsFrom": [
"conversation_id"
],
"columnsTo": [
"id"
],
"columnsFrom": ["conversation_id"],
"columnsTo": ["id"],
"onDelete": "cascade",
"onUpdate": "no action"
},
"conversation_members_user_id_users_id_fk": {
"name": "conversation_members_user_id_users_id_fk",
"tableFrom": "conversation_members",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"columnsFrom": ["user_id"],
"columnsTo": ["id"],
"onDelete": "cascade",
"onUpdate": "no action"
}
Expand Down Expand Up @@ -154,25 +146,17 @@
"name": "messages_conversation_id_conversations_id_fk",
"tableFrom": "messages",
"tableTo": "conversations",
"columnsFrom": [
"conversation_id"
],
"columnsTo": [
"id"
],
"columnsFrom": ["conversation_id"],
"columnsTo": ["id"],
"onDelete": "cascade",
"onUpdate": "no action"
},
"messages_sender_id_users_id_fk": {
"name": "messages_sender_id_users_id_fk",
"tableFrom": "messages",
"tableTo": "users",
"columnsFrom": [
"sender_id"
],
"columnsTo": [
"id"
],
"columnsFrom": ["sender_id"],
"columnsTo": ["id"],
"onDelete": "cascade",
"onUpdate": "no action"
}
Expand Down Expand Up @@ -228,9 +212,7 @@
"users_username_unique": {
"name": "users_username_unique",
"nullsNotDistinct": false,
"columns": [
"username"
]
"columns": ["username"]
}
},
"policies": {},
Expand Down Expand Up @@ -281,12 +263,8 @@
"name": "wallets_user_id_users_id_fk",
"tableFrom": "wallets",
"tableTo": "users",
"columnsFrom": [
"user_id"
],
"columnsTo": [
"id"
],
"columnsFrom": ["user_id"],
"columnsTo": ["id"],
"onDelete": "cascade",
"onUpdate": "no action"
}
Expand All @@ -296,9 +274,7 @@
"wallets_address_unique": {
"name": "wallets_address_unique",
"nullsNotDistinct": false,
"columns": [
"address"
]
"columns": ["address"]
}
},
"policies": {},
Expand All @@ -310,10 +286,7 @@
"public.conversation_type": {
"name": "conversation_type",
"schema": "public",
"values": [
"dm",
"group"
]
"values": ["dm", "group"]
}
},
"schemas": {},
Expand All @@ -326,4 +299,4 @@
"schemas": {},
"tables": {}
}
}
}
Loading
Loading