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.
Holger Frey
03470644dd
|
7 years ago | |
---|---|---|
.github | 7 years ago | |
docs | 7 years ago | |
ordr2 | 7 years ago | |
tests | 7 years ago | |
.editorconfig | 7 years ago | |
.gitignore | 7 years ago | |
AUTHORS.rst | 7 years ago | |
CONTRIBUTING.rst | 7 years ago | |
HISTORY.rst | 7 years ago | |
LICENSE | 7 years ago | |
MANIFEST.in | 7 years ago | |
Makefile | 7 years ago | |
README.rst | 7 years ago | |
development.ini | 7 years ago | |
production.ini | 7 years ago | |
pytest.ini | 7 years ago | |
requirements_dev.txt | 7 years ago | |
setup.cfg | 7 years ago | |
setup.py | 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