DjangoDoo - A Modular Django Framework 🚀
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.
🌟 Key Features
✅ 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).
🎯 Why DjangoDoo?
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.
🚀 Getting Started
Want to set up DjangoDoo? Follow our Getting Started Guide.
git clone https://github.com/MehediMK/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 runserver
For more details, check the Installation Guide.
📌 DjangoDoo Architecture
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.
🛠 Contributing to DjangoDoo
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.
💬 Join the Community
📢 Have questions or feature requests? Join our GitHub Discussions.
🔗 GitHub Repository: DjangoDoo on GitHub
🔗 Follow on LinkedIn: Project Updates
🔗 Join the Discord Community: DjangoDoo Discord
🚀 Let's build the next-gen modular Django framework together! 🚀