Welcome to DjangoDoo, an open-source, modular and extensible multipurpose application framework, inspired by Odoo and built using Django.
DjangoDoo is designed to provide a flexible and scalable architecture for building business applications, ERP systems, and other enterprise-grade solutions.
β
Modular System - Install and enable modules dynamically without modifying core code.
β
Flexible UI Views - Supports List View, Kanban View, Graph View, and Form View.
β
Real-time Updates - OnChange and Compute methods similar to Odoo for real-time calculations.
β
Extensible Architecture - Easily add new modules with models, views, templates, and APIs.
β
Multi-Tenant Support (Upcoming) - Enable different workspaces for different users.
β
User Role Management - Fine-grained access control for different user groups.
β
Django ORM & PostgreSQL - Powerful backend with optimized query performance.
β
API Ready - RESTful API support using Django REST Framework (DRF).
DjangoDoo aims to bring the power and flexibility of Odoo to Django-based projects.
Instead of building monolithic applications, DjangoDoo allows developers to create modular applications where each feature is a separate module.
This approach provides:
πΉ Scalability β Handle large enterprise applications.
πΉ Maintainability β Keep modules independent and reusable.
πΉ Customizability β Easily modify and extend features without breaking the core.
Want to set up DjangoDoo? Follow our Getting Started Guide.
git clone https://github.com/DjangoDoo/djangodoo.git
cd djangodoo
python -m venv venv
source venv/bin/activate # On Windows, use venv\Scripts\activate
pip install -r requirements.txt
python manage.py migrate
python manage.py runserverFor more details, check the Installation Guide.
DjangoDoo follows a modular architecture where each feature is built as an independent module.
π Project Structure
djangodoo/
βββ djangodoo/ # Core framework functionality
β βββ ... # All DjangoDoo files exists here.
βββ modules/ # All independent feature modules
β βββ sales/ # Example module (Sales Management)
β βββ inventory/ # Example module (Inventory Management)
βββ templates/ # Shared templates for frontend
βββ static/ # Static files (CSS, JS, Images)
βββ api/ # API endpoints for REST support
βββ settings.py # Django settings file
βββ manage.py # Django management script
Each module inside modules/ is self-contained, with its own:
π Models
π Views
π Templates
π URLs
π API Endpoints
To learn more about module development, visit Module Development.
DjangoDoo is an open-source project, and we welcome contributions!
π How to Contribute?
- Check our GitHub Issues for open tasks
- Fork the repository and create a feature branch
- Submit a Pull Request (PR) for review
π Read the Contribution Guide for details.
π’ Have questions or feature requests? Join our GitHub Discussions.
π GitHub Repository: DjangoDoo on GitHub
π Read Docs: DjangoDoo
π Follow on LinkedIn: Project Updates
π Join the Discord Community: DjangoDoo Discord
π Let's build the next-gen modular Django framework together! π