A Django-based platform that digitizes and manages the entire coffee value chain — from farmer registration to processing, export, and traceability. Built for Kikonelo Coffee by Hamwe EA, the system ensures transparency, efficiency, and accountability across all coffee operations.
CCVMS streamlines data flow between farmers, collection centers, processors, and exporters. It provides real-time visibility into coffee production, quality, and payments, helping cooperatives and value chain actors make data-driven decisions.
- Farmer registration and profiling
- Farm geo-tagging using GPS coordinates
- Crop and production tracking
- Certification and training records
- Cherry and parchment collection
- Digital weighing and receipts
- Farmer payment tracking (mobile money compatible)
- Quality grading and batch creation
- Wet and dry mill process tracking
- Inventory management by lot and grade
- Moisture and quality testing
- Buyer and contract management
- Export documentation (ICO, phytosanitary, invoices)
- Lot traceability from farm to shipment
- Farmer and yield performance reports
- Quality grading statistics
- Payment summaries and export metrics
| Layer | Technology |
|---|---|
| Backend | Django 5 / Django REST Framework |
| Frontend | HTML5, Bootstrap 5, jQuery |
| Database | PostgreSQL |
| Authentication | JWT (JSON Web Token) |
| Environment | Python 3.12 |
| Deployment | Docker / Gunicorn / Nginx |
┌────────────────────────────┐
│ Field App (Optional) │
│ → Collects farmer data │
└──────────────┬─────────────┘
│ REST API
┌──────────────▼─────────────┐
│ Django Backend API │
│ (DRF + PostgreSQL DB) │
└──────────────┬─────────────┘
│
┌──────────────▼─────────────┐
│ Web Dashboard (Admin) │
└────────────────────────────┘
git clone https://github.com/yourusername/kikonelo-coffee-vcms.git
cd kikonelo-coffee-vcmspython -m venv venv
source venv/bin/activate # on Windows: venv\Scripts\activatepip install -r requirements.txtCreate a .env file in the project root:
DEBUG=True
SECRET_KEY=your-secret-key
ALLOWED_HOSTS=127.0.0.1,localhost
DB_NAME=kcvms
DB_USER=postgres
DB_PASSWORD=yourpassword
DB_HOST=127.0.0.1
DB_PORT=5432
EMAIL_HOST=smtp.gmail.com
EMAIL_PORT=587
EMAIL_HOST_USER=your_email@gmail.com
EMAIL_HOST_PASSWORD=your_password
EMAIL_USE_TLS=True
python manage.py migratepython manage.py createsuperuserpython manage.py runserverThen open: 👉 http://127.0.0.1:8000/
kcvms/
├── core/ # Core settings, URLs, and utilities
├── farmers/ # Farmer and farm management app
├── collection/ # Coffee collection module
├── processing/ # Coffee processing and inventory module
├── sales/ # Sales and export management
├── reports/ # Dashboards and analytics
├── templates/ # HTML templates
├── static/ # CSS, JS, and images
└── manage.py
If you prefer running the project in Docker:
docker-compose up --buildThen access: 👉 http://localhost:8000
- JWT-based authentication (DRF SimpleJWT)
- Role-based access control (Admin, Field Officer, Processor, Exporter)
- HTTPS-ready configuration
- Secure environment variables with
.env
- Daily/weekly farmer collections
- Payment summaries per cooperative
- Quality and moisture analysis reports
- Export summary by destination
Contributions are welcome! Please follow the standard Git workflow:
git checkout -b feature/my-feature
git commit -m "Added new feature"
git push origin feature/my-featureOpen a pull request and describe your change.
Developed by: HAMWE EA Lead Developer: TECH 📧 Email: tech@hamwe.org 🌍 Location: Kampala, Uganda
This project is licensed under the MIT License. See the LICENSE file for details.