Skip to content

Agriconnect is a platform connecting farmers and extension officers through WhatsApp and a mobile app, with AI-assisted conversation support, data integration, and dashboards for engagement and monitoring.

License

Notifications You must be signed in to change notification settings

akvo/agriconnect

Repository files navigation

AgriConnect

Test Coverage Status GitHub repo size GitHub top language GitHub issues GitHub last commit

Development Setup

  1. Create the Docker sync volume:
docker volume create agriconnect-docker-sync
  1. Start the development environment:
./dc.sh up -d

That's it! Your development environment should now be running.

Usage

The ./dc.sh script is a wrapper around Docker Compose that combines multiple compose files for the full development environment. It supports all standard Docker Compose commands:

Common Commands

  • Start the development environment:

    ./dc.sh up -d
  • Stop the development environment:

    ./dc.sh down
  • View running services:

    ./dc.sh ps
  • View logs:

    ./dc.sh logs
    ./dc.sh logs -f  # Follow logs
    ./dc.sh logs backend  # View specific service logs

Development Commands

  • Execute commands in the backend container:

    ./dc.sh exec backend <command>

    Examples:

    ./dc.sh exec backend tests     # Run backend tests
    ./dc.sh exec backend flake8    # Run backend linter
    ./dc.sh exec backend bash      # Open bash shell
  • Execute commands in the frontend container:

    ./dc.sh exec frontend <command>

    Examples:

    ./dc.sh exec frontend prettier --write .  # Format frontend code
    ./dc.sh exec frontend bash                # Open bash shell

Available Services

The environment includes the following services:

  • db: PostgreSQL database (port 5432)
  • backend: Python FastAPI backend (port 8000)
  • frontend: Node.js frontend application (port 3000)
  • mobileapp: React Native mobile app development (port 8081)
  • pgadmin: Database management interface (port 5050)
  • mainnetwork: Network service with port mappings

Access URLs

Once the environment is running, you can access:

Documentation

Additional documentation is available in the docs/ directory:

  • Deployment Pipeline: CI/CD pipeline architecture, Kubernetes deployment, and troubleshooting guide
  • Mobile App Deployment: Complete guide for building and deploying the mobile app using EAS Build and GitHub Actions
  • Push Notifications: Push notification setup, architecture, and troubleshooting guide for mobile app
  • Mobile Build Quick Reference: Quick commands and troubleshooting for mobile app builds
  • Storage System: File upload and storage system configuration and usage guide
  • CLAUDE.md: Project architecture and development guidelines for Claude Code

About

Agriconnect is a platform connecting farmers and extension officers through WhatsApp and a mobile app, with AI-assisted conversation support, data integration, and dashboards for engagement and monitoring.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5