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! 🚀