CPI Ordering System (the old version)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
 
 
 
 
 
Holger Frey 03470644dd working on documentation 7 years ago
.github initial import 7 years ago
docs working on documentation 7 years ago
ordr2 added BaseResource and RootResource 7 years ago
tests working on documentation 7 years ago
.editorconfig initial import 7 years ago
.gitignore changed gitignore entry for virtual env to use wildcard 7 years ago
AUTHORS.rst initial import 7 years ago
CONTRIBUTING.rst working on documentation 7 years ago
HISTORY.rst working on documentation 7 years ago
LICENSE initial import 7 years ago
MANIFEST.in initial import 7 years ago
Makefile removed tox from setup 7 years ago
README.rst working on documentation 7 years ago
development.ini initial import 7 years ago
production.ini initial import 7 years ago
pytest.ini initial import 7 years ago
requirements_dev.txt removed tox from setup 7 years ago
setup.cfg initial import 7 years ago
setup.py changed wording for project description 7 years ago

README.rst

===========================
Ordr2 - CPI Ordering System
===========================

This is a complete rewrite of our current `ordering system`_.

Goals
-----
* more information on orders:
* record the status change in order in a log
* add a new status "hold" if there are questions
* simpler reordering of already placed orders
* better tools for consumables (templates for new orders):
* propose consumables on placed orders
* check unused or outdated consumables
* make categories editable
* revamped user management:
* validate email address on registration
* forgot password system
* make password hashing future proof
* move away from PHP as a programming language (done, branch php2pyhton)
* update the front end tools to current versions


Notes on technologies used
---------------------------

The project uses `Pyramid`_ as a web framework, especially the `traversal`_
style routing instead of the more widely spread url dispatch method. This
decision was made because:

* the starter of this project likes this kind of routing
* it eliminates the need of defining routes
* `row level security`_ is easy to implement since traversal works with
resources from the start.

The new system should have automated unit- and integration tests for all
self written code, aming at 100% coverage although this might never be
reached.

To run a test use the ``make coverage`` command or if you'd like to test
without a coverage report use ``make test``

Also the code should be documented well enough to support the current and
new developers. Good Documentation is hard, so please be forgiving in this
regard. A set of documents can be compiled and viewed with the ``make docs``
command.



.. _ordering system: https://ordr.cpi.imtek.uni-freiburg.de
.. _Pyramid: https://trypyramid.com
.. _traversal: https://docs.pylonsproject.org/projects/pyramid/en/latest/narr/muchadoabouttraversal.html
.. _row level security: https://docs.pylonsproject.org/projects/pyramid/en/latest/narr/security.html