mirror of
https://github.com/almet/copanier.git
synced 2025-04-28 19:42:37 +02:00
124 lines
No EOL
3.7 KiB
Markdown
124 lines
No EOL
3.7 KiB
Markdown
# 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 - the tool provides summary of who ordered what ;
|
|
7. A dispatch of who has to pay whom is done ;
|
|
8. XXX
|
|
9. ... Profit !
|
|
|
|
## Features
|
|
|
|
- Handles groups of people (useful for people sharing a house) ;
|
|
- Handles multiple producers in one delivery ;
|
|
- Intelligent dispatching of payments, without any central bank account ;
|
|
- Support for shipping fees ;
|
|
|
|
## Screenshots
|
|
|
|

|
|

|
|

|
|

|
|

|
|
|
|
## Philosophy
|
|
|
|
- Keep things simple
|
|
- Do not rely on JavaScript (or the less possible)
|
|
- Lower the cost of maintainance of the project
|
|
|
|
## FAQ
|
|
|
|
### How is it different from cagette?
|
|
|
|
[Cagette](https://www.cagette.net) is a free software which aims at solving the same problem we're solving. We're doing it in different ways. Cagette has a general approach, providing a tool for group of producers, for AMAPs, for people handling a store and for people who are getting paid with a fee.
|
|
|
|
In copanier, we want to keep things as straightforward and effective as possible, and we believe solving a larger problem complexifies the software.
|
|
Copanier is issued of a collective where we think it's better when roles are moving over the years. That's why you don't really need an account, and it's really easy to change the referent person for each producer, for instance.
|
|
|
|
In short : we believe copanier is better suited for people who want to organise the way we do. If copanier doesn't fit your needs, cagette might :-)
|
|
|
|
## 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](https://github.com/pyenv/pyenv):
|
|
|
|
```bash
|
|
$ 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:
|
|
|
|
```bash
|
|
$ # 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:
|
|
|
|
```bash
|
|
$ copanier serve
|
|
```
|
|
|
|
Optionally autoreload the server when you change a python file (needs `hupper`):
|
|
|
|
```bash
|
|
$ copanier serve --reload
|
|
```
|
|
|
|
Then browse to [http://localhost:2244](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.
|
|
|
|
```bash
|
|
$ pip instal -e .[test]
|
|
```
|
|
|
|
Then, to run the tests:
|
|
|
|
```bash
|
|
$ # install the required dependencies for dev
|
|
$ pip install -r requirements-dev.txt
|
|
$ # run the tests
|
|
$ py.test tests
|
|
```
|
|
|
|
## Fork
|
|
|
|
This project is a continuation of the work done by
|
|
[Alexis](https://framagit.org/almet/copanier), itself took from the work
|
|
[Yohan](https://framagit.org/ybon/copanier) did in the first place. |