Multi-Tenant SaaS Platform for Artisan Service Businesses Features β’ Quick Start β’ Architecture β’ Documentation β’ Contributing
Krafti Vibe is a complete backend platform purpose-built for artisan service businesses - from solo craftspeople to large service organizations. Built with Go and Fiber, it delivers enterprise-grade multi-tenancy, intelligent booking management, and comprehensive business operations in a single platform.
The Niche: Traditional booking platforms fall short for artisan businesses. They either oversimplify (missing critical features like materials tracking, project milestones, custom pricing) or over-complicate (enterprise tools that cost too much and do too much). Krafti Vibe fills this gap perfectly.
Built For:
- π¨ Home services (plumbers, electricians, cleaners)
- βοΈ Beauty & wellness (salons, spas, personal trainers)
- π¨ Creative services (photographers, designers, decorators)
- π§ Repair & maintenance (appliance repair, handymen, locksmiths)
- π Health & fitness (massage therapists, yoga instructors, physiotherapists)
- Complete Isolation: Row-level security ensures tenant data never leaks
- Flexible Models: Support solo artisans, small teams, or large organizations
- White-Label Ready: Custom domains and branding per tenant
- Tiered Plans: Free, Pro, Enterprise with usage-based billing
- Real-time availability with conflict detection
- Recurring appointments (daily/weekly/monthly)
- Service packages & add-ons with dynamic pricing
- Deposit handling & payment holds
- Before/after photo documentation
- Customer notes & artisan instructions
- Multiple gateways (Stripe, PayPal)
- Automated commission splits
- Refund management with policies
- Professional invoice generation
- Subscription billing
- Revenue analytics & reporting
- In-app messaging between customers & artisans
- Multi-channel notifications (email, SMS, push)
- Template engine with dynamic variables
- Delivery tracking & read receipts
- Granular notification preferences
- Multi-dimensional ratings (quality, professionalism, timeliness, value)
- Photo reviews with before/after comparisons
- Artisan response system
- Review moderation & flagging
- Community helpful voting
- Real-time dashboards & KPIs
- Custom report generation (PDF, Excel, CSV)
- Revenue tracking & forecasting
- Customer lifetime value analytics
- Artisan performance metrics
- Usage patterns & trends
- Discount codes (percentage & fixed)
- Usage limits & redemption tracking
- Date-restricted campaigns
- Service/artisan-specific promotions
- Campaign performance analytics
- Multi-phase project tracking
- Milestone-based payments
- Task assignments & dependencies
- Progress monitoring
- Client collaboration tools
- Document management
- Go 1.24+
- PostgreSQL 15+
- Redis 7+
# Clone repository
git clone https://github.com/affulk000/Krafti_Vibe.git
cd Krafti_Vibe
# Install dependencies
go mod download
# Set up environment
cp .env.example .env
# Edit .env with your configuration
# Run with hot reload
air
# Or standard run
go run cmd/api/main.godocker-compose up -dServer runs at http://localhost:8080
This project uses git hooks to maintain code quality. Install them with:
bash scripts/setup-hooks.shHooks included:
- pre-commit: Runs formatting, linting, go vet, and secret detection on staged files
- commit-msg: Enforces conventional commit message format
- pre-push: Runs full test suite with race detector before pushing
To bypass hooks (not recommended):
git commit --no-verify
git push --no-verifyWe follow Conventional Commits for clear version history:
feat(auth): add JWT refresh token endpoint
fix(booking): resolve race condition in availability check
docs: update API documentation
test(user): add repository integration tests
chore: update dependenciesValid types: feat, fix, docs, style, refactor, test, chore, perf, ci, build
GitHub Actions workflows run automatically:
- Pull Requests: Full validation (formatting, linting, tests, security scan, Docker build)
- Main Branch: Build and push Docker images to GitHub Container Registry
- Releases: Multi-platform binaries and Docker images for tagged versions
# Run all checks (format, vet, lint, test)
make check
# Run tests with coverage report
make test-coverage
# Run security scan
make security
# Full CI simulation
make ci
# Generate Swagger documentation
make swagger
# Install development tools
make install-toolsSee CONTRIBUTING.md for detailed contribution guidelines including:
- Development setup
- Git workflow
- Coding standards
- Testing requirements
- Pull request process
Built with clean architecture principles:
API Layer (Fiber)
β
Service Layer (Business Logic)
β
Repository Layer (Data Access)
β
Database (PostgreSQL + Redis)
Key Technologies:
- Framework: Fiber v2 (high-performance web framework)
- Database: PostgreSQL with Row-Level Security
- Cache: Redis for sessions & hot data
- Auth: Zitadel integration with JWT
- ORM: GORM with type-safe operations
- Logging: Structured logging with Zap
Krafti_Vibe/
βββ cmd/api/ # Application entry point
βββ internal/
β βββ domain/models/ # Business entities
β βββ repository/ # Data access (13 repos, 200+ methods)
β βββ service/ # Business logic (24 services)
β βββ middleware/ # Auth, logging, rate limiting
β βββ router/ # Route definitions
βββ scripts/ # Utilities & helpers
βββ docs/ # Documentation
Live API response showing artisan profile retrieval with complete business information:
- Project Specification - Complete technical spec
- Quick Start Guide - Detailed setup instructions
- Migration Guide - Database migrations
- Zitadel Auth - Authentication setup
- Swagger UI - Interactive API documentation (requires running server)
- API Quick Reference - Common endpoints & examples
- Swagger Guide - Complete API documentation guide
- OpenAPI Spec - Machine-readable API specification
- JWT authentication with refresh tokens
- Role-based access control (RBAC)
- PostgreSQL Row-Level Security
- Input validation & sanitization
- SQL injection protection
- XSS prevention
- CORS configuration
- Rate limiting per tenant
- Secure headers
| Component | Status |
|---|---|
| Domain Models | β 100% Complete (20+ models) |
| Repository Layer | β 100% Complete (200+ methods) |
| Service Layer | β 100% Complete (24 services) |
| Middleware | β 100% Complete |
| API Handlers | β 100% Complete |
| Authentication | β 100% Complete |
| Testing | π§ In Progress |
Overall: ~100% complete (core backend done, API layer in progress)
- Complete REST API handlers
- API documentation (OpenAPI/Swagger)
- Database migrations
- Comprehensive testing
- WebSocket real-time updates
- Background job processing
- Email & SMS integrations
- Calendar sync (Google, iCal)
- Mobile app APIs
- GraphQL endpoint (optional)
- AI-powered scheduling
- Fraud detection
- Multi-language support
# Run tests
go test ./...
# Run with coverage
go test -cover ./...
# Build for production
make build
# Run linter
golangci-lint runContributions welcome! Please:
- Fork the repository
- Create a feature branch
- Write tests for new features
- Submit a pull request
See CONTRIBUTING.md for details.
MIT License - see LICENSE file for details.
Built with:
- Fiber - Express-inspired web framework
- GORM - Feature-rich ORM
- Zitadel - Identity & access management
Made with β€οΈ for artisan businesses worldwide
Version: 1.0.0 | Last Updated: December 2024
