This monorepository contains two independent MVP projects developed by CENIA (Centro Nacional de Inteligencia Artificial):
- CORFO - Document processing and validation system
- Red Almacenes - Invoice management and processing platform
mvps-cenia/
├── corfo/ # CORFO MVP - Document processing with GCP APIs
│ ├── page.py # Main Streamlit application
│ ├── requirements.txt # Python dependencies
│ ├── Dockerfile # Container configuration
│ ├── .streamlit/ # Streamlit configuration
│ └── README.md # Detailed setup instructions
│
├── red-almacenes/ # Red Almacenes Frontend - Streamlit application
│ ├── app.py # Main application entry point
│ ├── view/ # Application views and pages
│ ├── requirements.txt # Python dependencies
│ ├── docker-compose.yml # Docker Compose configuration
│ ├── Dockerfile # Container configuration
│ └── README.md # Detailed setup instructions
│
└── red-almacenes-flask/ # Red Almacenes Backend - Flask API
├── app.py # Flask application with OAuth
├── models/ # Database models (SQLite)
├── processors/ # Invoice processors (CCU, Koandina, PF)
├── utils/ # Utility functions (Document AI, image processing)
├── templates/ # HTML templates (admin, invoices, profit calculator)
├── static/ # Static assets (Tailwind CSS, JS, images)
├── requirements.txt # Python dependencies
├── tailwind.config.js # Tailwind CSS configuration
└── README.md # Detailed setup instructions
A Streamlit-based application that integrates with Google Cloud Platform services to process, validate, and compare documents. Features include:
- Document upload and storage (Google Cloud Storage)
- Document AI processing for text extraction
- Workflow execution for document validation and comparison
- Interactive UI for document analysis
A two-tier application for invoice management and processing:
Frontend (Streamlit):
- Interactive invoice upload interface
- Image preprocessing and cropping tools
- Document visualization
Backend (Flask):
- Google OAuth authentication with role-based access control
- Google Document AI integration for invoice data extraction
- Multi-processor support (CCU, Koandina, PF Alimentos)
- Invoice scanning and automatic data extraction
- Profit calculator with margin/markup calculations
- User management with admin panel
- SQLite database for users, sessions, and invoices
- Responsive UI with Tailwind CSS
See frontend documentation → See backend documentation →
Each project can be run independently. Please refer to the individual README files for specific setup and installation instructions:
All projects require:
- Python 3.11+
- Docker and Docker Compose (for containerized deployment)
Additional requirements vary by project:
- CORFO: Google Cloud Platform account with enabled APIs
- Red Almacenes: Google OAuth credentials, Google Document AI processor IDs
This repository uses template files for sensitive configuration. Before running any project:
- Copy the template files and fill in your credentials
- Never commit actual credentials to version control
- Ensure
.envandsecrets.tomlfiles are in your.gitignore
See SECURITY.md for detailed security guidelines.
- Frontend Framework: Streamlit
- Backend Framework: Flask
- Cloud Services: Google Cloud Platform (Storage, Document AI, Workflows)
- Authentication: Google OAuth 2.0 (via Authlib)
- Database: SQLite (user management, sessions, invoices)
- CSS Framework: Tailwind CSS
- Image Processing: Pillow
- Containerization: Docker, Docker Compose
Each project includes:
- Development and production configurations
- Dockerfile for containerized deployment
- Requirements.txt for dependency management
- Configuration templates for secrets
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
For questions or issues, please open an issue in this repository.
Developed by CENIA - Centro Nacional de Inteligencia Artificial