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.

