Multichannel request processing
Go to file
Valentin Deniaud c3eb561c16
gitea/welco/pipeline/head This commit looks good Details
setup: allow django-taggit 3.1.0 (#81954)
2023-12-18 12:41:09 +01:00
debian debian: add back memory-report to uwsgi default configuration (#80451) 2023-11-13 11:35:35 +01:00
tests misc: apply double-quote-string-fixer (#79788) 2023-08-16 11:53:33 +02:00
welco misc: apply double-quote-string-fixer (#79788) 2023-08-16 11:53:33 +02:00
.git-blame-ignore-revs misc: update git-blame-ignore-revs to ignore quote changes (#79788) 2023-08-16 11:53:33 +02:00
.gitignore add .gitignore 2015-07-02 20:17:20 +02:00
.pre-commit-config.yaml misc: add pre commit hook to force single quotes (#79788) 2023-08-16 11:53:32 +02:00
COPYING add license file 2015-07-02 10:47:39 +02:00
Jenkinsfile ci: build deb package for bookworm (#78968) 2023-06-23 17:58:32 +02:00
MANIFEST.in remove alfortville custom extension (#31454) 2019-07-15 23:14:03 +02:00
README build: document and use isort and pyupgrade 2021-07-13 11:42:39 +02:00
manage.py misc: apply double-quote-string-fixer (#79788) 2023-08-16 11:53: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 setup: allow django-taggit 3.1.0 (#81954) 2023-12-18 12:41:09 +01:00
tox.ini tox: run tests against djangorestframework 3.14 (#81950) 2023-10-03 17:02:52 +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

isort is used to format the imports, using those parameters:

    isort --profile black --line-length 110

pyupgrade is used to automatically upgrade syntax, using those parameters:

    pyupgrade --keep-percent-format --py37-plus

There is .pre-commit-config.yaml to use pre-commit to automatically run black,
isort and pyupgrade 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