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.

55 lines
2.0 KiB

===========================
Ordr2 - CPI Ordering System
===========================
7 years ago
This is a complete rewrite of our current `ordering system`_.
7 years ago
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
7 years ago
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