Bitsacco Server is an open source model for running Savings and Credit Cooperatives (SACCO) on Bitcoin
- Backend: Axum web framework
- Frontend: Leptos (SSR + Hydration)
- Database: PostgreSQL with advanced caching (no Redis dependency)
- Authentication: JWT-based with NestJS integration
- Styling: TailwindCSS
- Build Tool: Just command runner + Cargo
- JWT Deployment Guide - Complete guide for JWT configuration in production
- Environment Variables - Reference for all configuration options
- Rust 1.82+
- Just command runner:
cargo install just - Docker and Docker Compose
- Node.js (for TailwindCSS)
# Install dependencies and setup environment
just setup
# Check system dependencies
just check-deps# Start admin dashboard with NestJS backend
just admin
# Start with file watching for development
just admin-dev
# Start with debug logging
just admin-debug# Build and run everything in development mode
just docker-dev
# View logs
just logsOpen http://localhost:3030 for admin dashboard
# Build and run in production mode
just prod
# Build production binary locally
just buildView all available commands:
just --listjust admin- Start admin dashboardjust admin-dev- Start with file watchingjust admin-debug- Start with debug loggingjust build- Build production binaryjust test- Run all testsjust test-e2e- Run end-to-end authentication tests
just cargo-dev- Development server with hot reloadjust cargo-fmt- Format all Rust codejust cargo-lint- Run clippy lintsjust cargo-test- Run unit testsjust build-css- Build Tailwind CSSjust build-css-watch- Watch and rebuild CSS
just docker-dev- Start Docker development environmentjust prod- Start production environmentjust stop- Stop all containersjust logs- View container logs
just setup- Install dependencies and setupjust status- Show project statusjust fmt- Format code (Rust + CSS)just clean-rebuild- Clean and rebuild everything
bsr/
├── app/ # Main application (Leptos + Axum)
├── public/ # Static assets
├── tests/ # Integration tests
This is Phase 1 of the migration plan. Currently implemented:
- ✅ Project structure setup
- ✅ Cargo workspace configuration
- ✅ Docker Compose environment
- ✅ Basic Leptos application
- ✅ Configuration management
- ✅ Logging and tracing
- ✅ TailwindCSS integration
- ✅ Health check endpoints
- ✅ Testing framework setup
- Database schema design
- SeaORM entities implementation
- PostgreSQL caching strategies
- Migration system
GET /- Home pageGET /health- Health check pageGET /api/health- Health check APIGET /api/info- API information
# Format all Rust code
just cargo-fmt
# Format everything (Rust + CSS)
just fmt
# Check formatting without changes
just cargo-fmt-check# Run Clippy linter
just cargo-lint
# Run all tests
just test
# Run unit tests only
just cargo-test
# Run e2e tests
just test-e2e
# Quick compilation check
just cargo-check# Set up pre-commit hooks
just setup-hooks
# Run pre-commit checks manually
just precommitPlease refer to the migration plan document for development guidelines and phase objectives. All code must be formatted and pass linting checks before committing.
Bitsacco Server is MIT-licensed. We grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please read more here.
- Website - https://bitsacco.com
- Twitter - @bitsacco
- Maintainer - Jodom
Bitsacco Server is MIT licensed.