Skip to content

JonneSaloranta/django-opencrm

Repository files navigation

django-opencrm

Python Linting Django Tests (pytest)

django-opencrm is a reusable Django CRM app designed for NGOs and small businesses. It provides a flexible CRM system that can be integrated into any Django project to manage co ntacts, organizations, and related workflows.


Features

  • Manage contacts, organizations, and interactions
  • Configurable settings via python-decouple
  • Fully compatible with Django 5.x
  • Easy integration into existing Django projects

Installation

1. Clone the repository

git clone https://github.com/JonneSaloranta/django-opencrm.git
cd django-opencrm

2. Create and activate a virtual environment

python -m venv .venv
source .venv/bin/activate

3. Install dependencies

We use pip-tools to manage dependencies:

pip install pip-tools
pip-compile requirements.in
pip install -r requirements.txt

Usage

  1. Add these to your INSTALLED_APPS in Django:
INSTALLED_APPS = [
    ...
    "django.contrib.humanize",
    'widget_tweaks',
    "opencrm",
]
  1. Add urls:
from django.urls import include, path

urlpatterns = [
    path("admin/", admin.site.urls),
    path("crm/", include("opencrm.urls")) #<--
    ]
  1. Run migrations:
python manage.py migrate opencrm
  1. Start using the CRM models in your project.

Development

We follow these development practices:

  • Code formatting: Black
  • Linting: Flake8
  • Testing: pytest
  • Pre-commit hooks to enforce formatting and linting

Run tests:

pytest

Contributing

We welcome contributions! Please see CONTRIBUTING.md for details on setup, workflow, and commit message guidelines.


License

This project is licensed under the MIT License. See LICENSE for details.


Contact

Created by Jonne Saloranta.
For questions or suggestions, open an issue on GitHub.

About

OpenCRM is a CRM django app

Topics

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages