Skip to content

Latest commit

 

History

History
97 lines (73 loc) · 2.26 KB

README-DEV.md

File metadata and controls

97 lines (73 loc) · 2.26 KB

Desarrollo - jmq_chirpstack_listener

Este documento describe el flujo de trabajo para desarrollar en el entorno de jmq_chirpstack_listener.

Índice

Inicio Rápido

Para levantar el entorno de desarrollo:

sudo docker compose down --volumes
sudo docker compose build --no-cache
sudo docker compose up

O levantarlo en segundo plano:

sudo docker compose up -d

Flujo de Trabajo de Desarrollo

  1. Levantar el entorno
    Usa los comandos anteriores para asegurarte de tener un entorno limpio.

  2. Desarrollar nuevas funcionalidades
    Modifica el código según tus necesidades. Si modificas dependencias o el entrypoint, recuerda reconstruir la imagen usando --no-cache.

  3. Pruebas Funcionales

    • Publicar un mensaje MQTT de prueba:
      ./mqtt_test.sh
    • Verificar datos en la base de datos:
      sudo docker exec -it chirpstack_timescaledb psql -U sensoruser -d sensordata -c "SELECT * FROM sensor_data ORDER BY timestamp DESC LIMIT 10;"
    • Consultar el API:
      curl http://localhost:8999/data/
    • Revisar logs y errores:
      sudo docker logs -f chirpstack_listener_app
      sudo docker exec -it chirpstack_listener_app cat /var/log/api.err.log
      sudo docker exec -it chirpstack_listener_app cat /var/log/mqtt.err.log
  4. Iteración y Commit
    Realiza commits frecuentes conforme avanzas:

    git add .
    git commit -m "feat: nueva funcionalidad"
  5. Limpieza
    Para limpiar contenedores, volúmenes y redes:

sudo bash -c 'docker stop $(docker ps -a -q)'
sudo bash -c 'sudo docker rm $(docker ps -aq)'
sudo docker volume prune -f
sudo docker network prune -f
  1. Ejecutar Entorno de Dev

Asegúrate de tener la base de datos y mosquitto corriendo:

sudo docker compose down 
sudo docker compose -f docker-compose.yml up --build

ó

docker compose up -d timescaledb
docker compose up -d mosquitto

Ejecutas Servidor Local:

source venv/bin/activate
pip install -r requirements.txt
bash entrypoint-dev.sh