{"id":20947399,"url":"https://github.com/computemachines/inventorius-api","last_synced_at":"2025-10-29T06:19:42.821Z","repository":{"id":78335031,"uuid":"157616083","full_name":"computemachines/inventorius-api","owner":"computemachines","description":"Inventory management system for makers and hobbyists. ","archived":false,"fork":false,"pushed_at":"2024-09-03T22:11:00.000Z","size":454,"stargazers_count":2,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-08T21:02:28.128Z","etag":null,"topics":["flask","inventory-management","mongodb","rest-api"],"latest_commit_sha":null,"homepage":"https://inventori.us","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/computemachines.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-11-14T21:53:48.000Z","updated_at":"2023-02-14T21:49:30.000Z","dependencies_parsed_at":"2025-01-19T21:48:38.380Z","dependency_job_id":"fa86d424-e7dc-40da-8513-64724e5a8c74","html_url":"https://github.com/computemachines/inventorius-api","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/computemachines/inventorius-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/computemachines%2Finventorius-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/computemachines%2Finventorius-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/computemachines%2Finventorius-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/computemachines%2Finventorius-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/computemachines","download_url":"https://codeload.github.com/computemachines/inventorius-api/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/computemachines%2Finventorius-api/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264778041,"owners_count":23662559,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["flask","inventory-management","mongodb","rest-api"],"created_at":"2024-11-19T00:11:08.461Z","updated_at":"2025-10-29T06:19:37.586Z","avatar_url":"https://github.com/computemachines.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Code coverage badge](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fcomputemachines%2Fc6358499cfa820bcffe8535e6cabd586%2Fraw%2Fcoverage-inventory-v2-api-badge.json)\r\n\r\n\r\n# Inventorius API backend\r\nThis is the backend component of Inventorius that interacts directly with the database. Both the frontend nodejs server and browser client (inventorius-frontend) make HTTP api queries to this service to retrieve inventory data and perform inventory operations.\r\n\r\n## Installation instructions for *inventorius-api* only\r\n*See [inventorius-frontend] for its installation instructions*\r\n\r\n1. Download latest .deb packages.\r\n```sh\r\n$ wget ???/inventorius-api_0.3.3_all.deb\r\n```\r\n\r\n2. Install dependencies.\r\n```\r\n$ sudo apt install python3 python3-flask\r\n```\r\n\r\n3. Install deb package.\r\n```sh\r\n$ sudo dpkg -i inventorius-api_0.3.3_all.deb\r\n```\r\n\r\n## Directory Structure\r\n```sh\r\n$ tree -L 2\r\n```\r\n```sh\r\n.\r\n├── config\r\n│   ├── inventorius-api.service\r\n│   ├── inventorius-api.socket\r\n│   ├── inventorius-api-uwsgi.ini\r\n│   ├── inventorius.conf\r\n│   └── policy.xml\r\n├── conftest.py\r\n├── coverage.svg\r\n├── DEBIAN\r\n│   ├── control\r\n│   └── rules\r\n├── deployment-ci\r\n│   ├── github_id_rsa.gpg\r\n│   ├── github_id_rsa.pub\r\n│   ├── known_hosts\r\n│   ├── secrets.ini\r\n│   └── secrets.ini.gpg\r\n├── inventorius-api_0.3.3_all.deb\r\n├── Makefile\r\n├── __pycache__\r\n│   ├── conftest.cpython-38-pytest-6.2.5.pyc\r\n│   └── conftest.cpython-38-PYTEST.pyc\r\n├── README.md\r\n├── requirements.txt\r\n├── setup.cfg\r\n├── setup.py\r\n├── src\r\n│   └── inventorius\r\n└── tests\r\n    ├── data_models_strategies.py\r\n    ├── __init__.py\r\n    ├── __pycache__\r\n    ├── test_data_models.py\r\n    ├── test_inventorius_hardcoded.py\r\n    └── test_inventorius.py\r\n\r\n8 directories, 27 files\r\n```\r\n\r\n\r\n\r\n\r\n## Encryption/Decryption Reminder\r\nDecryption (CI)\r\n```sh\r\ngpg --quiet --batch --yes --decrypt --passphrase=\"$SECRET_PASSPHRASE\" --output secrets.txt secrets.txt.gpg\r\n```\r\nEncryption (User)\r\n```sh\r\ngpg -c secrets.txt\r\n```\r\n\r\n## Status Codes Reminder\r\n200 - Ok\r\n201 - Created (success, show created resource)\r\n204 - No Content (success, don't change view)\r\n400 - Bad Request (Client's fault)\r\n401 - Unauthorized (Unauthenticated)\r\n403 - Forbidden (Authenticated, but no permissions)\r\n404 - Not Found\r\n405 - Method Not Allowed (resource exists but can't delete, change, etc...)\r\n409 - Conflict (With state of target resource)\r\n500 - Internal Server Error (Server crashed, unexpected error, etc...)\r\n\r\n## Development Dependencies\r\nsudo apt-get install libmagickwand-dev\r\nImageMagick-7.1.0-17-Q16-HDRI-x64-dll.exe\r\n\r\n## Run dev server (Ubuntu 20.04)\r\n```sh\r\n$ cd src\r\n$ FLASK_ENV=\"development\" FLASK_APP=\"inventorius\" python3 -m flask run -p 8081\r\n```\r\n\r\n## Run dev server, (windows powershell): \r\n*may no longer work*\r\n```powershell\r\n$Env:FLASK_ENV = \"development\"\r\n$Env:FLASK_APP = \"inventorius\"\r\npython -m flask run -p 8081\r\n```\r\n\r\n## Run tests\r\n```sh\r\npytest\r\ncoverage run --source=inventorius -m pytest\r\n```\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcomputemachines%2Finventorius-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcomputemachines%2Finventorius-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcomputemachines%2Finventorius-api/lists"}