https://github.com/jpcadena/territoria
Streamlit UI Dashboard
https://github.com/jpcadena/territoria
dashboard dashboard-ui python streamlit streamlit-application streamlit-dashboard
Last synced: about 1 month ago
JSON representation
Streamlit UI Dashboard
- Host: GitHub
- URL: https://github.com/jpcadena/territoria
- Owner: jpcadena
- License: mit
- Created: 2026-05-12T23:31:51.000Z (about 2 months ago)
- Default Branch: master
- Last Pushed: 2026-05-13T01:25:12.000Z (about 2 months ago)
- Last Synced: 2026-05-13T01:32:41.906Z (about 2 months ago)
- Topics: dashboard, dashboard-ui, python, streamlit, streamlit-application, streamlit-dashboard
- Language: Python
- Homepage: https://territoria-jpcadena.streamlit.app/
- Size: 119 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README
# 🌱 Territoria Dashboard
Territoria Dashboard System
Monitoreo agrícola avanzado con IA Multimodal para cultivos de Cacao y Banano.
Explorar App en Vivo »
Report Bug
·
Request Feature
[](https://territoria-jpcadena.streamlit.app/)
Tabla de Contenidos
## Acerca del Proyecto
Este sistema integra una arquitectura robusta de recolección de datos y análisis predictivo. Diseñado bajo principios **SOLID** y **GRASP**, permite transformar imágenes capturadas en campo en diagnósticos fitopatológicos accionables mediante IA.
**Componentes clave:**
* **Captura:** Interfaz móvil vía AppSheet para recolección offline/online.
* **Orquestación:** Workflows automatizados en Make.com.
* **Inteligencia:** Análisis multimodal con Google Gemini IA.
* **Visualización:** Dashboard interactivo desarrollado en Streamlit.
### Stack Tecnológico
#### Core & IA
[![Python][python-shield]][python-url]
[![Streamlit][streamlit-shield]][streamlit-url]
[![Pandas][pandas-shield]][pandas-url]
#### Automatización & Data
[![Make][make-shield]][make-url]
[![AppSheet][appsheet-shield]][appsheet-url]
[![Google Sheets][google-sheets-shield]][google-sheets-url]
#### Herramientas de Desarrollo
[![Ruff][ruff-shield]][ruff-url]
[![Visual Studio Code][visual-studio-code-shield]][visual-studio-code-url]
## Empezando
### Prerrequisitos
* [![uv][uv-shield]][uv-url] instalado en el sistema.
### Instalación
1. Clonar el repositorio
```bash
git clone https://github.com/jpcadena/territoria.git
```
2. Instalar dependencias y sincronizar el entorno
```bash
uv sync
```
3. Ejecutar la aplicación
```bash
uv run streamlit run app.py
```
## Configuración
Para garantizar la seguridad de los datos y la portabilidad del código, este proyecto utiliza **Streamlit Secrets**.
### Desarrollo Local
Cree un archivo en la raíz del proyecto siguiendo la ruta `.streamlit/secrets.toml`. Este archivo está excluido del control de versiones para proteger sus credenciales:
```toml
CSV_URL = "https://docs.google.com/spreadsheets/d/e/.csv"
APP_ID = "tu-app-id-de-appsheet"
```
### Producción (Streamlit Cloud)
Para el despliegue en la nube, Streamlit Community Cloud gestiona las variables de entorno de forma segura a través de su propia bóveda de secretos cifrados.
1. Acceda al panel de su aplicación en [share.streamlit.io](https://share.streamlit.io).
2. Diríjase a **Settings > Secrets**.
3. Pegue sus credenciales respetando el formato TOML:
```toml
CSV_URL = "https://docs.google.com/spreadsheets/d/e/.csv"
APP_ID = "tu-app-id-de-appsheet"
```
## Despliegue
Este proyecto está optimizado para un despliegue ágil en **Streamlit Community Cloud**. Siga estos pasos para poner su dashboard en producción:
1. **Fork del Repositorio**: Realice un fork de este proyecto a su cuenta personal de GitHub.
2. **Nueva Aplicación**: Acceda a [share.streamlit.io](https://share.streamlit.io) y cree una nueva aplicación vinculando su fork.
3. **Entrypoint**: Asegúrese de que el archivo de entrada sea `src/territoria/sessions/session_5.py`.
4. **Configuración de Secrets**: Antes del despliegue final, vaya a **Advanced Settings > Secrets** y pegue sus variables de entorno:
```toml
CSV_URL = "https://docs.google.com/spreadsheets/d/e/.csv"
APP_ID = "tu-app-id-de-appsheet"
```
5. **Lanzamiento**: Haga clic en **Deploy**. La aplicación estará lista en un par de minutos.
## Licencia
Distribuido bajo la Licencia MIT. Consulte el archivo LICENSE para obtener más detalles sobre el uso y distribución del código.
## Contacto
[![Outlook][outlook-shield]](mailto:jpcadena@espol.edu.ec?subject=[GitHub]territoria)
[outlook-shield]: https://img.shields.io/badge/Microsoft_Outlook-0078D4?style=for-the-badge&logo=microsoft-outlook&logoColor=white
[uv-shield]: https://img.shields.io/badge/uv-toolkit-blue?logo=uv&style=flat-square
[uv-url]: https://docs.astral.sh/uv/getting-started/installation/
[python-shield]: https://img.shields.io/badge/python-3670A0?style=for-the-badge&logo=python&logoColor=ffdd54
[python-url]: https://www.python.org/
[visual-studio-code-shield]: https://img.shields.io/badge/Visual_Studio_Code-007ACC?style=for-the-badge&logo=visual-studio-code&logoColor=white
[visual-studio-code-url]: https://code.visualstudio.com/
[ruff-shield]: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v1.json
[ruff-url]: https://beta.ruff.rs/docs/
[streamlit-shield]: https://img.shields.io/badge/Streamlit-%23FE4B4B.svg?style=for-the-badge&logo=streamlit&logoColor=white
[streamlit-url]: https://streamlit.io/
[pandas-shield]: https://img.shields.io/badge/Pandas-150458.svg?style=for-the-badge&logo=pandas&logoColor=white
[pandas-url]: https://pandas.pydata.org/
[google-sheets-shield]: https://img.shields.io/badge/Google%20Sheets-%2334A853?style=for-the-badge&logo=googlesheets&logoColor=white
[google-sheets-url]: https://docs.google.com/spreadsheets/create
[make-url]: https://www.make.com/en
[make-shield]: https://img.shields.io/badge/Make.com-4353FF?style=for-the-badge&logo=make&logoColor=white
[appsheet-shield]: https://img.shields.io/badge/AppSheet-4285F4?style=for-the-badge&logo=appsheet&logoColor=white
[appsheet-url]: https://www.appsheet.com