top of page

Agrinet Backend Development Progress Report

Date: January 22, 2025

Young plants in small pots on soil, in a sunny garden with lush greenery. Sunlight streams down, creating a serene outdoor scene.

Network Theory Applied Research Institute (NTARI)


Executive Summary

The Agrinet development team made significant progress on backend infrastructure during a technical review session on January 22, 2025. The team successfully resolved critical Docker containerization challenges and identified necessary infrastructure additions to support the platform's queue management system.


Development Progress


Containerization Implementation

The development team initiated work on the pilot/colorado-stage-0 branch, focusing on containerizing the backend services:

  • Docker Configuration: Created comprehensive Dockerfile for backend services

  • Dependency Management: Resolved package synchronization issues between package.json and package-lock.json files

  • Build Process Optimization: Modified Docker build commands to accommodate dependency resolution, transitioning from npm ci to npm install for improved flexibility during development


Technical Challenges Identified

Two primary infrastructure gaps were discovered during backend initialization:

  1. Redis Service Integration: The application's queue management system (utilizing Bull queue) requires Redis connectivity, which was not previously defined in the Docker Compose configuration. The system attempted to connect to Redis at 127.0.0.1:6379, but no Redis service was available in the container environment.

  2. Documentation Gap: While the repository included DynamoDB Local configuration, Redis was not documented as a runtime dependency, creating ambiguity for developers setting up the environment.


Solutions Implemented


Package Dependency Resolution

To address synchronization issues across the project's three package locations (backend, frontend, and frontend/chat-ui), the team will execute npm install in each directory to regenerate lock files and ensure consistency.


Redis Infrastructure Addition

The infrastructure has been updated to include Redis services:


Docker Compose Configuration:

redis:
  image: redis:latest
  command: redis-server
  ports:
    - "6379:6379"
  networks:
    - backend

Environment Configuration:

Environment variables (REDIS_HOST and REDIS_PORT) have been documented in .env configuration to ensure proper container networking.


Documentation Updates

The repository documentation has been updated to explicitly list Redis as a runtime dependency, ensuring future developers have complete environment requirements.


Project Collaboration

The team continues to expand its volunteer developer network, with active mentorship occurring for developers transitioning into DevOps roles. This knowledge-sharing approach aligns with NTARI's cooperative development model.


Next Steps

  1. Backend Stabilization: Complete Redis integration testing and verify queue system functionality

  2. Frontend Development: Defer frontend work until backend services are fully operational and tested

  3. Technical Review: Conduct comprehensive review of infrastructure dependencies to prevent similar documentation gaps

Technical Architecture


Current Stack:

  • Node.js backend services

  • Redis for queue management (Bull queue)

  • DynamoDB Local for development database

  • Docker containerization for consistent deployment


Start your own Agrinet Node by visiting ntari.org/network-registration to get started Support to our work at ntari.org/donate


Stay Connected

Comments

Rated 0 out of 5 stars.
No ratings yet

Add a rating
bottom of page