Skip to content

lachouettecoop/inventory-coop

Repository files navigation

Inventory COOP API

This is the backend of inventory solution. The other products are :

Requirement

You will need :

  • docker
  • docker-compose

It could make your life better:

  • Pycharm (Python IDE)
  • Postman (test API)
  • Robot3t (MongoDb explorer)

Init mongodb

Fist open a bash on your db instance

docker-compose exec db bash

Then launch a mongo shell as root

mongo -u root -p <root password>

Finally execute command :

use inventory-coop
db.createUser({
  user: "user",
  pwd: "<user password>",
  roles: [
    { role: "readWrite", db: "inventory-coop" },
  ],
  mechanisms: [ "SCRAM-SHA-1" ],
})

Build

docker-compose build api

Run

Mongo db docker needs some environment variables defined in file db.env.

MONGO_INITDB_ROOT_USERNAME=root
MONGO_INITDB_ROOT_PASSWORD=...  # Root password

API docker needs some environment variables defined in file api.env.

MONGO_HOST=db
MONGO_USERNAME=user
MONGO_PASSWORD=...                # User password

JWT_SECRET=...                    # Secret for JSON Web Tokens signature
LDAP_ADMIN_PASS=...               # LDAP admin password

ADMIN_USERS="bill@gate.com"       # List of users with admin rights

ODOO_URL=https://odoo.fr/jsonrpc  # Odoo jsonrc URL
ODOO_LOGIN=...                    # Odoo user login
ODOO_PASSWORD=...                 # Odoo user password

Then run

docker-compose up -d

API will be accessible to http://localhost:8000/api/v1

curl http://localhost:8000/api/v1/ping

It shall respond {"name":"inventory-coop","status":"ok"}

Development

This API is based on python eve.

poetry install
poetry run python main.py

About

Backend of inventory solution

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published