System Overview
Acctally is a monolithic Go backend with clear service boundaries, fronted by a Next.js web app. All services run in Docker containers.
Core Ports
3000- Frontend (Next.js)8081- Envoy gRPC-Web8080- REST Gateway50052- gRPC Server
Infrastructure
5432- PostgreSQL6379- Redis3001- Grafana3100- Loki
Multi-Tenancy Model
Data isolation happens at the Workspace level. Organizations handle billing and team management.
Hierarchy
- User - Global account. Can belong to multiple organizations.
- Organization - Billing entity with subscription tier.
- Workspace - Data container. All financial data is isolated here via
tenant_id.
Technology Stack
Frontend
- Next.js 16 (App Router)
- TypeScript
- Tailwind CSS v4
- shadcn/ui components
- React Query (TanStack)
- Connect-RPC (gRPC-Web)
Backend
- Go 1.22
- gRPC + Protobuf
- GORM (PostgreSQL ORM)
- go-redis
- Uber fx (dependency injection)
Infrastructure
- Docker + Docker Compose
- PostgreSQL 15
- Redis 7
- Envoy Proxy
- Grafana + Loki
Integrations
- Paystack (payments)
- Stripe (payments)
- SparkPost (email)
- Slack (notifications)
- OpenAI (AI features)