Development of Mechbase
**Objective**: Create, launch, and sustain a web application that serves as a unified source of truth for data gathered by WEARDC® and MAINTNODE® (such as equipment usage, performance, and maintenance).
**Solution**: We accomplished this goal by developing Mechbase, a web application built on Django, Celery, Postgres, and Redis, which is deployed using GitHub Actions on a Docker Swarm cluster.
**Development**: The development of Mechbase was initiated from the ground up and included various components. Initially, we created the Django and Postgres web application that processes data and presents it in a useful format for customers. Subsequently, we developed Celery and Redis workers to process and aggregate this data for enhanced usability. Finally, we created agents operating on multiple Raspberry Pi devices stationed at different factories, which transmit data to the Django web application.
**DevOps**: To maintain simplicity, we chose Docker as our DevOps foundation. Local development occurs using Docker Compose, which can optionally be done within Dev Containers. The production setup runs on a Docker Swarm cluster, utilizing the same Docker Compose configuration. Both build and deployment processes are managed via a self-hosted GitHub Actions runner.
**Results**: Mechbase has been operational in a production environment for several years, benefiting from continuous updates and impressive uptime. It remains an active project of Arpedon, overseen by LOGIC, and generates increasing annual recurring revenue.
**Open Source**: In collaboration with Arpedon, we utilized and enhanced open-source code that is accessible for public use. Notable examples include Django Prose, our comprehensive rich-text editing solution for Django, and sec, our Python library for managing secrets across local development and production environments.