Development
Contributing to Dj Urls Panel or setting up for local development.
Prerequisites
- Python 3.9+
- Git
- Docker (recommended)
Setup
1. Clone Repository
2. Choose Development Environment
Option A: Docker (Recommended)
Option B: Local Environment
# Create virtual environment
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
# Install package and dependencies
make install
# or
pip install -e .
pip install -r requirements.txt
3. Set Up Example Project
4. Run Development Server
Visit: http://127.0.0.1:8000/admin/
Testing
Run All Tests
Run Specific Tests
pytest tests/test_admin.py -v
pytest tests/test_admin.py::TestAdminIntegration::test_celery_panel_appears_in_admin_index
With Coverage
Project Structure
dj-urls-panel/
├── dj_urls_panel/ # Main package
│ ├── views.py # Django views
│ ├── urls.py # URL patterns
│ ├── models.py # Placeholder model
│ ├── admin.py # Admin integration
│ └── templates/ # HTML templates
├── tests/ # Test suite
│ ├── base.py # Test base class
│ ├── test_admin.py # Admin integration tests
│ └── conftest.py # Pytest configuration
├── example_project/ # Example Django project
├── docs/ # Documentation
└── Makefile # Development commands
Code Style
- Follow PEP 8
- Use type hints where helpful
- Write docstrings for public methods
- Keep functions focused and small
Makefile Commands
make install # Install dependencies
make test_local # Run tests locally
make test_docker # Run tests in Docker
make docker_up # Start Docker services
make docker_down # Stop Docker services
make docker_shell # Open shell in container
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests
- Run test suite
- Submit pull request