SaveCircle is an open-source platform that digitizes informal savings circles (Ajo, Chama, Tanda) on the Stellar network. It eliminates fraud, automates payouts, and builds verifiable on-chain credit histories.
# SaveCircle-Backend
*Save Together. Trust the Chain.*
SaveCircle-Backend is the Rust-based backend API for SaveCircle, an open-source platform that digitizes informal savings circles (Ajo, Chama, Tanda) on the Stellar network. It eliminates fraud, automates payouts, and builds verifiable on-chain credit histories.
## Features
- **Group Management**: Create and manage savings circles with role-based access
- **Smart Contract Integration**: Seamless integration with Stellar Soroban contracts for transparent fund management
- **On-Chain Credit Scoring**: Build and track credit scores based on savings behavior
- **Microloan Module**: Enable microloans backed by savings history
- **Notifications**: SMS and push notifications for contributions and payouts
- **Multi-Signature Accounts**: Secure fund management with Stellar multi-sig accounts
## Technology Stack
- **Language**: Rust
- **Framework**: Actix-web
- **Database**: PostgreSQL with Diesel ORM
- **Blockchain**: Stellar Network (Soroban smart contracts)
- **Authentication**: Stellar Wallet + Phone OTP
- **Notifications**: Africa's Talking API (SMS) + Firebase (Push)
- **Deployment**: Docker
## Prerequisites
- Rust 1.70 or higher
- PostgreSQL
- Stellar account and Soroban CLI (for development)
## Installation
### Local Development
1. Clone the repository:
```bash
git clone
github.com
cd SaveCircle-Backend
```
2. Install Rust (if not already installed):
```bash
curl --proto '=https' --tlsv1.2 -sSf
sh.rustup.rs | sh
source $HOME/.cargo/env
```
3. Install dependencies:
```bash
cargo build
```
4. Set up the database:
- Install PostgreSQL locally or use Docker
- Create a database named `savecircle`
5. Configure environment variables:
- Copy `.env.example` to `.env`
- Fill in your configuration
6. Run the server:
```bash
cargo run
```
### Using Docker
1. Clone the repository and navigate to it
2. Use Docker Compose for development:
```bash
docker-compose …