Django Coleman: A very simple Task Management web app written with Django Admin.
- Simple task manager that allows to define a tasks with title, partner (customer, provider...), description, responsible of the task, priority...
- Each task may have items: sub-tasks to be done.
- The built-in Django Authentication and Authorization system to manage users and groups, login, etc.
- Module django-adminfilters that allows multiselection searches.
- Module django-advanced-filters that allows to make more complex searches.
- Send emails when a task is created.
- Spanish translations.
- Basic Rest API configuration (disabled by default, check the
INSTALLED_APPS
setting) - Optionally, you can use Django Coleman along with Django Coleman Viewer to allows users to follow the orders
- Python 3.5+ (tested with Python 3.6).
- Django 2.2 and other dependencies declared
in the
requirements.txt
file (use virtual environments!). - A Django compatible database like PostgreSQL (by default uses the Python's built-in SQLite database for development purpose).
(Optional) Create a virtual environment and activate it with:
$ python3 -m venv .venv && source .venv/bin/activate
Install dependencies with:
$ pip install -r requirements.txt $ pip install -r requirements-dev.txt # For DEV environments
Create the database with:
$ python3 manage.py makemigrations $ python3 manage.py makemigrations mtasks $ python3 manage.py makemigrations partner $ python3 manage.py migrate
To create an admin user:
$ python3 manage.py createsuperuser
Then run in development mode with:
$ python3 manage.py runserver
Or use the script to startup in the same mode:
$ ./run.sh dev
Some settings can be overwritten with environment variables. For example to overwrite the language translations of the application and set debug options to false:
$ DEBUG=False LANGUAGE_CODE=es-ar python3 manage.py runserver
Available settings to override are:
DEBUG
: set the DjangoDEBUG
option. DefaultTrue
.TIME_ZONE
: defaultUTC
. Other example:America/Buenos_Aires
.LANGUAGE_CODE
: defaulten-us
. Other example:es-ar
.SITE_HEADER
: Header title of the app. Default to "Django Coleman - A Simple Task Manager".DATABASE_URL
: Database string connection. Default uses SQLite database. Other example:postgresql://dcoleman:postgres@localhost/dcoleman_dev
.- More settings like email notifications, check the
settings.py
file for more details, any variable that is set withos.getenv(...
is able to be configured using environment variables.
To run in a production environment, check the README-production.rst notes, or see the official Django documentation.
Like any Django app developed with Django Admin, enter with: http://localhost:8000/admin
Django Coleman Viewer is a small webapp that can be used along with Django Coleman to allow "partners" (customers, employees, providers...) to see their orders anonymously, without access to the Django Admin.
You need to enable the email notifications and set TASKS_VIEWER_ENABLED = True
setting to
send the emails with the viewer order URL. See more configurations in the coleman/settings_emails.py
file, and checkout the viewer project.
Some tips if you are improving this application.
After add to the source code new texts to be translated, execute
from the root folder (replace LANG
by a valid language
code like es
):
$ django-admin makemessages -l LANG
Then go to the .po file and add the translations. Finally execute to compile the locales:
$ django-admin compilemessages
The master
branch works with Django 2.2. The are two more branches:
django/2.0
django/1.11
With the source code that works for each version of Django, and maybe tweaking some configurations can works with oldest versions too.
Project: https://github.com/mrsarm/django-coleman
Authors: (2017-2019) Mariano Ruiz <[email protected]>
License: AGPL-v3