Construbot Documentation#
An Operational Solution for Construction Companies
Construbot is a comprehensive Django-based construction management system for tracking contracts, estimates, counterparties, and financial operations. Built with multi-tenancy, hierarchical data structures, and a powerful REST API.
Note
Documentación en Español disponible | Spanish Documentation Available
🇪🇸 Versión en español: https://construbot.readthedocs.io/es/
🇬🇧 English version: https://construbot.readthedocs.io/
Note
Language Note: While the codebase uses Spanish terminology (Contrato, Estimación, etc.), this documentation is primarily in English with Spanish translations available. See Domain Terms Glossary for complete term translations.
Quick Links#
What is Construbot?#
Construbot helps construction companies manage:
✅ Hierarchical Contracts - Parent contracts with subcontracts using tree structures
✅ Progress Estimates - Track work completion and payments (Estimaciones)
✅ Counterparty Management - Clients, subcontractors, and piecework contractors
✅ Financial Tracking - Advances, retentions, and payment calculations
✅ Multi-Company Support - One system for multiple business entities
✅ PDF Generation - Automated document creation
✅ Excel Import/Export - Bulk data operations
✅ REST API - Mobile and external integrations
Key Features#
Multi-Tenant Architecture
Three-level hierarchy (Customer → Company → User) with complete data isolation between companies.
Hierarchical Contracts
Use django-treebeard for parent/child contract relationships with automatic financial aggregation.
Email-Based Authentication
Modern authentication using email (not usernames) with six permission levels from Auxiliar to Superusuario.
Production-Ready
Docker deployment, PostgreSQL database, Redis caching, Celery tasks, S3 storage, and comprehensive security.
Technology Stack#
Backend Framework: Django 3.2.19 (Python 3.9.17+)
Database: PostgreSQL 12+
Cache/Queue: Redis 6+
Task Queue: Celery 5.2.7
API: Django REST Framework + SimpleJWT
PDF Generation: ReportLab
Tree Structures: django-treebeard
Quick Start#
For Users:
# Access the application
https://your-construbot-instance.com
# Log in with your email and password
# See: user-guide/getting-started
For Developers (Docker):
# Clone repository
git clone https://github.com/javier-llamas/construbot.git
cd construbot
# Build and start
make buildev
# Create superuser
make superuser
# Access at http://localhost:8000
See Installation for complete setup.
Documentation Structure#
This documentation is organized for three audiences:
User Guide#
For end users managing construction projects:
Introduction - What is Construbot
Getting Started - First steps tutorial
Core Concepts - Core concepts (contracts, estimates, etc.)
Workflows - Step-by-step workflows
Features - Advanced features
FAQ - Common questions
Developer Documentation#
For developers installing or extending Construbot:
Installation - Development setup
Deployment - Production deployment
Architecture - System architecture
API - REST API reference
Models - Data models
Contributor Guide#
For contributors improving Construbot:
Contributor Guide - Getting started
Testing - Testing guide
Translation Glossary - Translation glossary
Documentation - Documentation guidelines
Reference#
Quick reference for all users:
Glossary - Spanish→English terms
Makefile Commands - Development commands
Domain Terms Glossary - Complete glossary
Popular Pages#
Getting Started:
Getting Started - User tutorial
Docker Setup - Docker development
AWS EC2 Deployment - AWS deployment
Core Concepts:
Projects & Contracts - Understanding contracts
Multi-Tenancy - Multi-tenant architecture
Domain Terms Glossary - Complete Spanish→English glossary
Configuration:
Configuration - Environment variables
Environment Variables - Production config
Settings Structure - Django settings
Spanish Terminology#
The codebase uses Spanish business terminology. Key translations:
Spanish |
English |
Description |
|---|---|---|
Contrato |
Contract / Project |
Main business entity |
Contraparte |
Counterparty |
Client, subcontractor, or contractor |
Estimación |
Estimate / Progress Payment |
Payment request for completed work |
Concepto |
Concept / Line Item |
Individual work item in catalog |
Retención |
Retention / Withholding |
Financial withholding |
Sitio |
Site |
Construction site location |
See Domain Terms Glossary for 100+ complete translations.
Repository & License#
GitHub: https://github.com/javier-llamas/construbot
License: GNU Affero General Public License v3 (AGPLv3)
Current Version: 1.1.04
Get Help#
Installation Issues: Installation
Deployment Problems: Deployment
API Questions: API
Bug Reports: https://github.com/javier-llamas/construbot/issues