A minimalist collective buying software.
Find a file
2020-06-07 15:40:29 +02:00
copanier Merge branch 'wip' of github.com:indatwood/copanier into wip 2020-06-07 15:40:29 +02:00
docs Reorganize the files, 2020-03-13 18:58:54 +01:00
remote Allow to control remote HOST for emails 2019-06-07 12:50:33 +02:00
tests Replaced "solde" and "émargement" URLs by "paiements" and "résumé-de-commandes". 2020-04-08 18:41:01 +02:00
.flake8 iwyu 2019-03-22 19:35:32 +01:00
.gitignore Start fixing the tests. 2019-10-04 21:31:16 +02:00
Makefile Replaced "solde" and "émargement" URLs by "paiements" and "résumé-de-commandes". 2020-04-08 18:41:01 +02:00
MANIFEST.in Add MANIFEST 2019-03-24 16:20:50 +01:00
pytest.ini Add a concept of groups 2019-07-19 00:12:33 +02:00
README.md Update a bit the readme to be more precise about what this project does. 2020-04-07 16:41:25 +02:00
requirements-dev.txt Make all tests pass again. 2020-04-08 17:55:52 +02:00
setup.cfg Replaced "solde" and "émargement" URLs by "paiements" and "résumé-de-commandes". 2020-04-08 18:41:01 +02:00
setup.py non working MongoDB custom ODM 2019-03-17 19:30:10 +01:00
TODO Better URL handling, thanks to a new url_for() utility 2020-04-08 21:17:19 +02:00

Copanier

Copanier is a software to make grouped orders. It's generally used by small groups who want to buy food supplies directly from producers, without requiring each individual to see each producer.

It helps people to order a set of defined products, and provide a few helpers to ease the life of everyone involved :-)

How does it work?

  1. A new delivery is created ;
  2. Producers and products are created in the software (or copied from a past delivery) ;
  3. (Optional : prices are checked with the producers to be sure they are still okay) ;
  4. Individuals place their orders for their groups ;
  5. Referents ask their producers for the products and pay them ;
  6. There is a delivery, after which a dispatching of who has to pay whom is automatically done.

Features

  • Handles groups of people (useful for people sharing a house, for instance) ;
  • Handles multiple producers in one delivery ;
  • Intelligent dispatching of payments, without any central bank account ;
  • Support for shipping fees ;

Fork

This project is a continuation of the work done by Alexis, itself took from the work Yohan did in the first place.

Philosophy

  • Keep things simple
  • Do not rely on JavaScript (or the less possible)
  • Lower the cost of maintainance of the project

Install copanier locally

The project relies on Python 3.7+, so if you don't have it yet, here's your chance!

One way to install it, is to use pyenv:

$ pyenv install 3.7.1
$ pyenv global 3.7.1

And then create a virtualenv so everything is installed separately from the rest of the system:

$ # Get the source code locally
$ git clone https://framagit.org/almet/copanier.git
$ cd copanier

$ # Create the virtualenv
$ python -m venv venv

$ # Activate it!
$ source venv/bin/activate

$ # install everything!
$ pip install -e .

Run local server

Once everything is installed, you can use the copanier command to run the server.

Make sure venv is active, then:

$ copanier serve

Optionally autoreload the server when you change a python file (needs hupper):

$ copanier serve --reload

Then browse to http://localhost:2244

Run the tests

If you want to contribute, don't hesitate! In this case, it might be helpful to install a few other dependencies.

$ pip instal -e .[test]

Then, to run the tests:

$ # install the required dependencies for dev
$ pip install -r requirements-dev.txt
$ # run the tests
$ py.test tests