Skip to content

karol-preiskorn/3d-inventory-angular-ui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

3d inventory

  1. 3d inventory
    1. About
    2. Motivation
    3. Architecture
    4. Technology stack
    5. Demo video
    6. Data Model
      1. Logical model
    7. Application
      1. List devices
      2. Models
      3. Attributes
      4. Attribute Dictionary
      5. Connections
    8. Run
    9. Deploy
    10. Containers
    11. Contributing
    12. License

wakatime GitHub latest commit GitHub stars GitHub issues MIT license TypeScript Npm GitHub license

About

Project creates ✨3d inventory✨—a solution that allows you to build a spatial and database representation of your warehouses or datacenters.

Motivation

I am developing this project as a sandbox to explore database systems. It covers relevant topics and issues related to creating a simple and efficient platform for graphical representation of IT inventory.

Architecture

Project contain three repos:

Technology stack

  • Angular 19+ - as a Corp framework.
  • Bootstrap 5.3+ - logic for insert UI data
  • tree.js 163+ - as best graph framework.
  • MongoAtlas|Oracle - I want to try different solutions and data structures, including both relational and NoSQL data models using MongoAtlas and Oracle.
  • REST - prepared API documented and used in Swagger.
  • Docker as containers

Demo video

The 3d inventory project leverages Angular for building the user interface and utilizes the three.js library to render interactive 3D graphics.

Data Model

The data model is based on a parametric, generic attribute class. All attributes for Devices, Models, and Connections are stored in this model.

Parameter types are defined in the Attribute Dictionary.

Attributes store values defined in the Attribute Dictionary for Devices, Models, and Connections. The Attribute Dictionary specifies parameters for these entities.

I had a lot of fun learning how to convert relational DB structures to correct collections in NoSQL MongoDB.

Logical model

Relational data model is mapped to a NoSQL model in MongoDB.

Application

List devices

Models

Attributes

Attribute Dictionary

Connections

Run

git clone https://github.com/karol-preiskorn/3d-inventory-angular-ui.git
cd 3d-inventory-angular-ui
npm install
npm run start

Goto in browser http://localhost:4200 http://localhost:4200/

Deploy

https://angular.io/guide/deployment

Build in first terminal: ng build --watch in npm alias:

npm run build

Containers

Docker is used for containerization, and deployment to Google Cloud is planned.

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change. Please make sure to update tests as appropriate. Do not forget about code guidelines.

License

Creative Commons Legal Code

About

A simple solution that allows you to build a spatial and database representation of all types of warehouses and server rooms.

Topics

Resources

License

Stars

Watchers

Forks

Contributors 2

  •  
  •