🚀 Getting Started with DjangoDoo
Welcome to DjangoDoo, an open-source modular application framework built using Django, inspired by Odoo 17. This guide will help you set up DjangoDoo on your local machine and get started with development.
🔥 Prerequisites
Before you start, ensure you have the following installed on your system:
✅ Python 3.10+ - Download Python
✅ Git - Download Git
✅ PostgreSQL (Recommended) - Download PostgreSQL
✅ Virtual Environment (venv) - Built into Python
✅ Django & Dependencies - Installed via pip
📥 Step 1: Clone the Repository
First, clone the DjangoDoo repository from GitHub:
git clone https://github.com/MehediMK/djangodoo.git
cd djangodoo
🏗 Step 2: Set Up a Virtual Environment
Create a virtual environment to manage dependencies:
python -m venv venv
Activate the virtual environment:
# On macOS/Linux
source venv/bin/activate
# On Windows
venv\Scripts\activate
📦 Step 3: Install Dependencies
Install all required packages using pip
:
pip install -r requirements.txt
Ensure that Django is installed:
python -m django --version
🛠 Step 4: Configure the Database
By default, DjangoDoo uses SQLite, but for production, PostgreSQL is recommended.
Using SQLite (Default)
No additional configuration is required.
Using PostgreSQL
- Create a PostgreSQL database:
sql CREATE DATABASE djangodoo;
- Update
settings.py
to configure PostgreSQL:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'djangodoo',
'USER': 'your_username',
'PASSWORD': 'your_password',
'HOST': 'localhost',
'PORT': '5432',
}
}
🔄 Step 5: Run Migrations
Apply database migrations:
python manage.py migrate
If using PostgreSQL, ensure you have created the database before running this command.
🚀 Step 6: Start the Development Server
Run the Django server:
python manage.py runserver
By default, the server starts at http://127.0.0.1:8000/
. Open it in your browser to verify the setup.
🔑 Step 7: Create a Superuser
To access the Django Admin Panel, create a superuser:
python manage.py createsuperuser
Follow the prompts to set up an admin username and password.
Once done, visit http://127.0.0.1:8000/admin/
and log in.
🎯 Step 8: Understanding the Project Structure
DjangoDoo follows a modular structure where each feature is an independent module.
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, and API endpoints.
🛠 Step 9: Running Tests
To ensure everything is working properly, run the test suite:
python manage.py test
🔧 Step 10: Running Celery for Asynchronous Tasks (Optional)
If the project requires asynchronous task processing with Celery, start the Celery worker:
celery -A djangodoo worker --loglevel=info
🌟 Next Steps
Now that DjangoDoo is set up, explore its features:
❓ Need Help?
For support, check our GitHub Discussions or join the DjangoDoo Community.
🔗 GitHub: DjangoDoo Repository
🔗 Join Discord: DjangoDoo Community