-
Notifications
You must be signed in to change notification settings - Fork 19
Architecture (Overview)
NOTE: This repository focuses on the back-end library called Tuxboard.Core. While I created three examples for this repository, these are not the end-all examples. The concept of this repository is to provide an ASP.NET back-end model for dashboards.
Since I'm not a master of every single JS framework and I don't have a JS Framework preference (Angular, Vue, React, etc), YOU CAN CREATE ANY KIND OF FRONT-END YOU WANT FOR THIS LIBRARY.
As a matter of fact, I would see some developers forking this and creating their own front-ends using their favorite JavaScript frameworks.
-
Back-end
- ASP.NET 5 (using C#)
- Entity Framework Core 5
-
Front-end (mostly for the demos)
-
Bootstrap.native 4.x (w/ NO jQuery)Bootstrap 5 - FontAwesome 5
- TypeScript
Web Essentials (for Markdown, Task Runner/Gulp integration, bundler, etc.)
-
Tuxboard is meant to be as compact and flexible as possible.
When initially started, the project kept three goals in mind moving forward:
- Easy Integration - Simple enhancement to applications
- Declarative first, Programmatic second - The concept of modifying Tuxboard using HTML, CSS, and JavaScript/TypeScript was more enticing than modifying code, then compiling. However, the option of writing code is available.
- Extensibility - Providing simple hooks at the programmatic and database level to speed up custom development requirements.
- Tuxbar (Red) - Toolbar for Tuxboard dashboards; contains Change Layout, Add Widget, and Status.
- Dashboard (Blue) - The dashboard itself.
- Dashboard Tab (Green) - Only one tab is supported at this time; contains one Layout.
- Layout - Included in DashboardTab as a property
- Layout Row (Pink) - Layout Rows define the columns used in a Dashboard Tab. You can have multiple LayoutRows in a Layout, but one Layout in a Dashboard Tab. Each LayoutRow is defined by a Layout Type.
- Column (Black) - Contains widgets
- Widget (Light gray) - Small boxes of information pertaining to the status or functionality of an application.
- Widget Heading (Orange) - Used for moving widgets on the dashboard.
- Widget Tools (Cyan) - widget-specific functions and settings.