Skip to content

Framebuffers/direwolf-db

Repository files navigation

🐺 direwolf-db

Docker container with a PostgreSQL database, Prisma ORM and a blank Node app template.

⚠️ WARNING

This demo is hard-wired to listen to a single PostgreSQL URL. Rename the provided .env.example to .env before starting the container. This project, as well as this file, IS NOT MEANT FOR PRODUCTION USE. You have been warned.

🏗️ Build

  • You need Docker and docker-compose
  • Run docker-compose up
  • Done!

⛴️ Ports

  • localhost:3000: Blank Node.js project.
  • localhost:3001: Grafana dashboard.
  • localhost:5555: Prisma Studio ORM.

📂 Schema

Wolfpack's format follows the following schema:

  • id: autoincremental integer key.
  • documentName: the equivalent of Document.Title of a RVT file. Describes the name of the document as shown on the title bar.
  • fileOrigin: the file path to the RVT file. Blank if it has never been saved or if it is workshared.
  • documentVersion: a GUID generated by Revit for every time a Document has been saved. It is used to track the evolution of a Revit project, and it can be used to check differences (a delta) between two different savestates.
  • wasCompleted: true if the test was completed successfully.
  • timeTaken: time between the Hunt() method execution and the time the Wolfpack is being pushed to the WolfpackDB.
  • createdAt: timestamp generated when the Wolfpack has been created.
  • guid: unique identifier generated by Direwolf for each Wolfpack.
  • resultCount: count of Prey objects inside of the Wolfpack.
  • testName: name of the query.
  • results: a JSON string containing each serialised Prey object.

🎛️ Dashboard

Screenshot 2025-04-01 012222

This database includes a Grafana dashboard at localhost:3001. It is configured to read from ModelInfo tests (Send Model to DB). Every ModelInfo test will be queried for:

  • Views inside Document
  • Views not in Sheets
  • Annotative Elements
  • External References
  • Model Groups
  • Detail Groups
  • Design Options
  • Level Count
  • Grid Count
  • Warning Count
  • Unenclosed Rooms
  • Viewports
  • Unconnected Ducts
  • Unconnected Pipes
  • Unconnected Electrical Fixtures
  • Non-native styles
  • Flipped Elements
  • Elements per Workset
  • Time taken for a complete query.

📃 To do

  • Change JSON to BSON.
  • Create tables for elements, parameters and document results.

About

Database container for Direwolf.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published