Project developed for TDC 2025 - Q Developer Quest
A Django application designed for accountants to upload CSV files and interact with an AI-powered assistant for financial analysis.
q-developer-quest-tdc-2025djangoawsamazon-q-developerfinancial-analysismcp-server
- Python 3.12 or superior
- Poetry
- Git
-
Clone the repository:
git clone https://github.com/oVitorio-ac/ContAI-Finance.git cd ContAI-Finance -
Setup with Poetry:
# Install dependencies poetry install # Activate virtual environment poetry shell
-
Database Setup:
python manage.py makemigrations python manage.py migrate
-
Run the Server:
python manage.py runserver
-
Access the App:
- Home/Upload: http://127.0.0.1:8000/
- Chat: http://127.0.0.1:8000/chat/
- Backend: Django 5.2.6
- Frontend: Bootstrap 5, HTML5
- Database: SQLite (Development) / S3 integration for files
- Cloud Infrastructure: AWS (S3, ECS, Lambda, Bedrock)
- Development Tools: Amazon Q Developer, Terraform, Docker
- Package Manager: Poetry
ContAI-Finance/
├── src/ # 📁 Source code
│ ├── contai_finance/ # 🏗️ Django project settings
│ ├── financeiro/ # 📦 Main application module
│ ├── mcp_server/ # 🔧 MCP Services (CSV Analyzer, Bedrock)
│ ├── static/ # 🎨 Static assets
│ ├── templates/ # 📄 HTML templates
│ └── manage.py # 🎯 Django entry point
├── tests/ # 🧪 Test suite
├── infrastructure/ # ☁️ Infrastructure as Code
│ ├── terraform/ # 🏗️ AWS IaC
│ ├── docker/ # 🐳 Containerization
│ └── scripts/ # 📜 Deployment & Helper scripts
├── docs/ # 📚 Comprehensive documentation
├── .env.example # 🔐 Environment variables template
└── pyproject.toml # 📦 Poetry configuration
- ✅ CSV File Upload: Secure handling and storage.
- ✅ AI Chat Interface: Interactive financial insights.
- ✅ MCP Servers: Specialized tools for precise CSV analysis and Bedrock automation.
- ✅ AWS Integration: Bedrock for advanced AI, S3 for storage, and Lambda for triggers.
- ✅ Automated Testing: Comprehensive suite with >90% coverage.
- ✅ IaC Ready: Full infrastructure definition with Terraform for AWS deployment.
The project leverages a hybrid architecture combining a Django monolith with serverless AWS components for specialized tasks.
graph TD
User["User"] -->|Upload CSV/Chat| Django["Django (ECS Fargate)"]
Django -->|Store File| S3["AWS S3"]
S3 -->|Trigger| Lambda["AWS Lambda (Processor)"]
Lambda -->|Store Analysis| S3
Django -->|Precise Query| MCP["CSV Analyzer (MCP)"]
Django -->|Complex Insights| Bedrock["AWS Bedrock (Claude 3)"]
MCP -->|Read| LocalCSV["Local/S3 CSV"]
For more details, see our Architecture Documentation.
Run tests using Pytest or the custom runner script:
# All tests
python run_tests.py
# Using Pytest directly
pytest
# With coverage report
pytest --cov=src --cov-report=html- ✅ Tier 1: Project generated with Amazon Q Developer, Public Repo, Screenshots, and Prompt List.
- ✅ Tier 2: Architecture Diagrams (Mermaid), Automated Tests (19), Technical Documentation.
- ✅ Tier 3: Three MCP Servers integrated, AWS Bedrock integration, IaC (Terraform), ECS/Fargate Deployment.
Contributions are welcome! Please check our Contributing Guidelines and Development Guide for more information.
This project is licensed under the MIT License - see the LICENSE file for details.

