Git Product home page Git Product logo

django-coleman's Introduction

https://media.giphy.com/media/vQ2YjH4KCDRSM/giphy-downsized.gif

Django Coleman

Django Coleman: A very simple Task Management web app written with Django Admin.

Features

  • 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

Django Coleman

Requirements

  • 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).

Install and Run

(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 Django DEBUG option. Default True.
  • TIME_ZONE: default UTC. Other example: America/Buenos_Aires.
  • LANGUAGE_CODE: default en-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 with os.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.

Access the application

Like any Django app developed with Django Admin, enter with: http://localhost:8000/admin

Django Coleman Viewer

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.

https://raw.githubusercontent.com/mrsarm/tornado-dcoleman-mtasks-viewer/master/docs/source/_static/img/dcoleman-viewer.png

Development

Some tips if you are improving this application.

Translations

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

Oldest Django versions

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.

Some screenshots

Django Coleman - Task Chance View

Django Coleman - Task Chance View, mobile version

About

Project: https://github.com/mrsarm/django-coleman

Authors: (2017-2019) Mariano Ruiz <[email protected]>

License: AGPL-v3

django-coleman's People

Contributors

mrsarm avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.