David-Lor / Arango-Foxx-Inventory-API

CRUD REST API to store generic items hierarchically or container-based on ArangoDB, as a Foxx microservice 🥑🦊📦

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Inventory API (ArangoDB Foxx µService)

CRUD REST API to store generic items hierarchically or container-based on ArangoDB, working as a Foxx microservice.

Stored objects are described as "entities", and can act as containers (parents) or children of other entities. This allows to store stuff like objects in your home (e.g. Bedroom > Wardrobe > Upper-Left Drawer > Box of "Memories" > 4GB DDR3 RAM Stick).

Data model

{
    "id": "192783", // only on read, corresponds to _id document field (generated by arangodb, cannot be set, unique)
    "name": "Bedroom", // human-readable identifier of the entity (required, not unique)
    "type": "ROOM", // human-readable category/type of the entity (optional)
    "created": 1589711345, // when the entity was created, as unix/epoch timestamp in seconds (autogenerated, cannot be set)
    "updated": 1589711345 // same as created, but when the entity was updated for the last time
    // from here, you can add additional fields with no further validation
    "owner": "Anna"
}

Installing

  • Install ArangoDB
  • Go to ArangoDB WebUI (like http://localhost:8529)
  • Login and enter into a database
  • Go to "Services" and Add service
  • Choose the GitHub tab
  • Set Repository to David-Lor/Arango-Foxx-Inventory-API and Version to develop

Changelog

  • 0.0.1: Initial version with CRUD endpoints, without hierarchy/relationships

TODO

  • Set entity parent to create hierarchies
  • Return hierarchy (parents/children) on entities
  • Add tests

About

CRUD REST API to store generic items hierarchically or container-based on ArangoDB, as a Foxx microservice 🥑🦊📦

License:ISC License


Languages

Language:JavaScript 95.5%Language:Makefile 4.5%