ValuAdis is a B2G (Business-to-Government) GovTech SaaS platform enabling licensed property valuers in Ethiopia to conduct digital property assessments compliant with Proclamation 1365/2025.
- πΊοΈ GIS Boundary Mapping: GPS-based property boundary capture with automatic area calculation
- π Automated Valuation: Market value calculation with 25% taxable value computation
- π Compliance Certificates: Proclamation 1365/2025 compliant PDF generation with QR verification
- π± Offline-First Mobile: 7-day offline capability for field work in low-connectivity areas
- π³ Flexible Pricing: 5,000 ETB/month SaaS + 50 ETB per certificate (1-month free demo)
- πͺπΉ Data Sovereignty: 100% Ethiopian hosting (Raxio Tier III data center)
- Framework: FastAPI (Python 3.11+)
- Database: PostgreSQL 15 + PostGIS 3.3
- Caching: Redis 7.x
- Geospatial: Shapely, GeoPandas
- PDF Generation: ReportLab
- Containerization: Docker + Docker Compose
- Framework: Vue.js 3 (Composition API)
- Meta-framework: Nuxt.js 3 (SSR/SSG)
- State Management: Pinia
- UI Components: PrimeVue
- Maps: Leaflet.js + OpenStreetMap
- Framework: Flutter 3.x (cross-platform)
- Local Storage: SQLite + Hive
- State Management: BLoC pattern
- Maps: flutter_map + OpenStreetMap
- Hosting: Yegara.com (Standard VPS) β Raxio Tier III (scale)
- Architecture: Modular Monolith β Microservices (when needed)
- CI/CD: GitHub Actions
- Monitoring: Sentry + UptimeRobot
- Deployment: Docker Compose + Nginx
- Docker & Docker Compose
- Python 3.11+
- Node.js 18+
- Flutter 3.x (for mobile development)
# Clone repository
git clone https://github.com/yourusername/ValuAdis.git
cd ValuAdis
# Start all services with Docker Compose
docker-compose up -d
# Services will be available at:
# - Backend API: http://localhost:8000
# - Frontend: http://localhost:3000
# - API Documentation: http://localhost:8000/docs
# - PostgreSQL: localhost:5432
# - Redis: localhost:6379For production deployment on Yegara.com, see the Deployment Guide.
# Quick production deployment
git clone https://github.com/yourusername/ValuAdis.git
cd ValuAdis
cp .env.production .env
# Edit .env with production values
./scripts/deploy.shcd backend
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Setup environment variables
cp .env.example .env
# Edit .env with your configuration
# Run database migrations
alembic upgrade head
# Start development server
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000cd frontend
# Install dependencies
npm install
# Setup environment variables
cp .env.example .env
# Edit .env with your configuration
# Start development server
npm run devcd mobile
# Get Flutter dependencies
flutter pub get
# Run on emulator/device
flutter run
# Run tests
flutter testValuAdis/
βββ backend/ # FastAPI application
β βββ app/
β β βββ api/ # API endpoints
β β βββ models/ # SQLAlchemy models
β β βββ services/ # Business logic
β β βββ repositories/# Data access
β β βββ core/ # Security, config
β βββ tests/ # Backend tests
β βββ requirements.txt
β
βββ frontend/ # Vue.js + Nuxt.js web app
β βββ components/ # Vue components
β βββ pages/ # Nuxt pages
β βββ stores/ # Pinia stores
β βββ composables/ # Vue composables
β βββ package.json
β
βββ mobile/ # Flutter mobile app
β βββ lib/
β β βββ presentation/# Screens & widgets
β β βββ data/ # Models & repositories
β β βββ services/ # Business logic
β β βββ core/ # Constants & utils
β βββ test/ # Mobile tests
β βββ pubspec.yaml
β
βββ Docs/ # Comprehensive documentation
β βββ SRS/ # Software requirements
β βββ Architecture/ # System architecture
β βββ Guidelines/ # Development guidelines
β βββ Timeline/ # Project timeline
β βββ Memory-Bank/ # Project context
β
βββ docker-compose.yml # Docker orchestration
- Master SRS - Complete system requirements
- Backend Guidelines - FastAPI development guide
- Frontend Guidelines - Vue.js development guide
- Mobile Guidelines - Flutter development guide
- Database Schema - PostgreSQL + PostGIS design
- Testing Strategy - TDD approach
- System Architecture - High-level design
- Project Timeline - 33-day development plan
- Interactive API Docs: http://localhost:8000/docs (Swagger UI)
- Alternative API Docs: http://localhost:8000/redoc (ReDoc)
cd backend
# Run all tests
pytest
# Run with coverage
pytest --cov=app --cov-report=html
# Run specific test file
pytest tests/unit/test_spatial_service.py
# View coverage report
open htmlcov/index.htmlcd frontend
# Run unit tests
npm run test:unit
# Run with coverage
npm run test:unit -- --coverage
# Run E2E tests
npm run test:e2ecd mobile
# Run all tests
flutter test
# Run with coverage
flutter test --coverage
# Run integration tests
flutter test integration_test/- Authentication: JWT tokens (24h access, 30d refresh)
- Password Hashing: bcrypt (cost factor 12)
- Data Encryption: AES-256 at rest, TLS 1.3 in transit
- Rate Limiting: 100 requests/minute per user
- Data Sovereignty: All data hosted in Ethiopia
- Compliance: Proclamation 1365/2025 adherence
DATABASE_URL=postgresql://user:password@localhost:5432/valuadis
REDIS_URL=redis://:password@localhost:6379/0
SECRET_KEY=your-secret-key-here
ENVIRONMENT=development
# M-Pesa Configuration
MPESA_CONSUMER_KEY=your-consumer-key
MPESA_CONSUMER_SECRET=your-consumer-secret
MPESA_SHORTCODE=174379
MPESA_PASSKEY=your-passkey
# Email Configuration
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_USER=noreply@valuadis.et
SMTP_PASSWORD=your-passwordNUXT_PUBLIC_API_BASE=http://localhost:8000/api/v1# Build Docker images
docker-compose -f docker-compose.prod.yml build
# Deploy to cPanel
# (Follow cPanel Docker deployment guide)
# Run database migrations
docker-compose exec backend alembic upgrade head
# Verify deployment
curl https://valuadis.et/api/v1/health# Backup database
docker-compose exec db pg_dump -U valuadis_user valuadis > backup.sql
# Restore database
docker-compose exec -T db psql -U valuadis_user valuadis < backup.sqlStart Date: February 25, 2026
Launch Date: March 30, 2026
Duration: 33 days
- β Week 1 (Feb 25 - Mar 3): Foundation & Documentation
- β³ Week 2 (Mar 4 - Mar 10): Backend Core Development
- β³ Week 3 (Mar 11 - Mar 17): Frontend Development
- β³ Week 4 (Mar 18 - Mar 24): Mobile Development
- β³ Week 5 (Mar 25 - Mar 30): Integration, Testing & Launch
This is a proprietary project. Contributions are limited to authorized team members.
- Create feature branch from
main - Follow coding standards (see Guidelines)
- Write tests (TDD approach)
- Submit pull request
- Pass code review
- Merge to
main
- Backend: Black, isort, mypy
- Frontend: ESLint, Prettier
- Mobile: Dart analyzer, effective_dart
Proprietary - All Rights Reserved
Copyright Β© 2026 ValuAdis. Unauthorized copying, distribution, or use is strictly prohibited.
Support: support@valuadis.et
Sales: sales@valuadis.et
Technical: tech@valuadis.et
- Proclamation 1365/2025: Ethiopian Property Tax Law
- OpenStreetMap: Map data and tiles
- PostGIS: Geospatial database extension
- FastAPI: Modern Python web framework
- Vue.js: Progressive JavaScript framework
- Flutter: Cross-platform mobile framework
Built with β€οΈ in Ethiopia for Ethiopian Property Valuers