Multichannel request processing
Go to file
Nicolas Roche 150841377a kb: use html.unescape (#55535) 2021-07-13 11:15:45 +02:00
debian debian: enable uwsgi memory reports (#54610) 2021-06-06 10:34:45 +02:00
tests trivial: apply black 2021-01-11 20:10:12 +01:00
welco kb: use html.unescape (#55535) 2021-07-13 11:15:45 +02:00
.git-blame-ignore-revs misc: add black files/notes 2021-01-11 20:11:07 +01:00
.gitignore add .gitignore 2015-07-02 20:17:20 +02:00
.pre-commit-config.yaml misc: add black files/notes 2021-01-11 20:11:07 +01:00
COPYING add license file 2015-07-02 10:47:39 +02:00
Jenkinsfile build: update to use origin/main 2020-12-26 15:21:15 +01:00
MANIFEST.in remove alfortville custom extension (#31454) 2019-07-15 23:14:03 +02:00
README misc: add black files/notes 2021-01-11 20:11:07 +01:00
manage.py django-admin.py startproject welco 2015-07-02 10:46:33 +02:00
pylint.sh jenkins: use a Jenkinsfile (#33259) 2019-05-28 10:56:03 +02:00
requirements.txt misc: remove django-reversion dependency (#41641) 2020-04-24 08:30:38 +02:00
setup.py misc: allow djangorestframework 3.9.x (#50105) 2021-02-16 12:58:10 +01:00
tox.ini tox: stop testing against django 1.11 2021-07-03 14:48:09 +02:00

README

Welco
=====

Welco is the central place to gather incoming requests from multiple
channels (snail mail, email, phone, chat...) and forward them to wcs
for them to be handled.


Installation
------------

Dependencies can be installed with pip,

 $ pip install -r requirements.txt

It's then required to get the database configured (./manage.py migrate); by
default it will create a db.sqlite3 file.

You can then run the Django test server for a quick try (you should refer to
the Django documentation for production deployments).

 $ ./manage.py runserver


Settings
--------

Default settings are loaded from settings.py, they can be overloaded by a
local_settings.py file set in the same directory, or by a file referenced
in the WELCO_SETTINGS_FILE environment variable.


Tests
-----

    pip install pytest pytest-django pytest-mock
    DJANGO_SETTINGS_MODULE=welco.settings py.test tests/


Code Style
----------

black is used to format the code, using thoses parameters:

    black --target-version py37 --skip-string-normalization --line-length 110

There is .pre-commit-config.yaml to use pre-commit to automatically run black
before commits. (execute `pre-commit install` to install the git hook.)


License
-------

This program is free software: you can redistribute it and/or modify it under
the terms of the GNU Affero General Public License as published by the Free
Software Foundation, either version 3 of the License, or (at your option) any
later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.  See the GNU Affero General Public License for more
details.

You should have received a copy of the GNU Affero General Public License along
with this program.  If not, see <http://www.gnu.org/licenses/>.


The pdf viewer component is derived from pdf.js,

  Copyright 2012 Mozilla Foundation

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0