High-performance, secure, and real-time backend engine built with Rust.
Chasqui Server is a state-of-the-art backend framework designed for real-time communication and secure data management. Built on the power of Actix-web and SurrealDB, it provides a robust foundation for modern web applications.
- 🚀 High Performance: Powered by Actix-web 4.x for blazing-fast request handling.
- 💬 Real-Time Messaging: Native WebSocket integration for instant communication.
- 🔐 Secure & Web3 Ready: JWT Authentication and Wallet-based Auth for modern decentralized integration.
- 🗃️ Surreal Database: Seamless integration with SurrealDB for flexible, ACID-compliant storage.
- 🏗️ Hybrid Architecture: Combining REST APIs with real-time WebSocket events for an optimal, hybrid sync approach.
- 📝 Proactive Observability: Structured logging and comprehensive error handling.
- 🛡️ Type-Safe Validation: Full data integrity using the
validatorcrate.
src/
├── application/ # Business logic & Services
├── infrastructure/ # Database & WebSocket implementations
├── interfaces/ # API Controllers & Handlers
├── models/ # Entities & Data structures
├── config/ # Environment configurations
├── error/ # Application error handling
├── lib.rs # Local library definition
└── main.rs # Application Entry Point
- Rust 1.75+
- SurrealDB (Local or Cloud instance)
# Clone the repository
git clone https://github.com/wiracocha-labs/chasqui-server.git
cd chasqui-server
# Configure environment
cp .env.example .env
# Edit .env with your SurrealDB and Secret Key detailscargo runChasqui Server includes built-in documentation for its API and WebSockets:
# List all REST API endpoints and JSON schemas (includes Wallet Auth and Wallet user routes)
cargo run -- --list-api
# List all WebSocket message types and structures
cargo run -- --list-ws| Module | Status | Next Milestone |
|---|---|---|
| Auth System | ✅ Stable | Wallet integration & Refresh Tokens |
| Real-Time Chat | ✅ 1.0 | Presence & Typing indicators |
| Data Persistence | ✅ Stable | Migrations & Seeds |
| User Roles | 🚧 Beta | Dynamic RBAC |
- Media Support: Phased rollout for image and attachment management.
- Scalability: Implementation of distributed actors for horizontal growth.
- Task Notifications: Sending automatic, contextual notifications to the task's corresponding chat.
- GitHub Webhook: Integration for remote task updates from code pushes.
- LLM Integration: Basic AI summaries of tasks and conversations via LLM.
Detailed technical strategies, AI workflows, and architectural decisions are located in the .agent/ directory.
If you are contributing using an AI assistant, please direct it to .agent/instructions.md first.
This project is licensed under the MIT License - see the LICENSE file for details.