{"id":25019816,"url":"https://github.com/jdanylko/tuxboard.examples","last_synced_at":"2026-03-13T04:34:15.826Z","repository":{"id":247450638,"uuid":"653262424","full_name":"jdanylko/Tuxboard.Examples","owner":"jdanylko","description":"Examples to compliment the Tuxboard posts on DanylkoWeb","archived":false,"fork":false,"pushed_at":"2025-10-19T22:58:15.000Z","size":8194,"stargazers_count":4,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-03-04T19:56:20.395Z","etag":null,"topics":["asp-net-core","aspnet","aspnet-core","aspnetcore","csharp","csharp-code","dashboard","dashboard-widget","dashboards","dotnet","dotnet-core","dotnetcore","dotnetcore6","dotnetcore7","dotnetcore8","efcore","entity-framework-core","visual-studio"],"latest_commit_sha":null,"homepage":"https://www.danylkoweb.com/tuxboard","language":"TypeScript","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/jdanylko.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,"zenodo":null}},"created_at":"2023-06-13T17:58:28.000Z","updated_at":"2025-10-19T22:58:11.000Z","dependencies_parsed_at":"2024-08-26T01:49:59.040Z","dependency_job_id":"8c90eaa7-8178-431e-a5d9-6402a47e5e86","html_url":"https://github.com/jdanylko/Tuxboard.Examples","commit_stats":null,"previous_names":["jdanylko/tuxboard.examples"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jdanylko/Tuxboard.Examples","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jdanylko%2FTuxboard.Examples","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jdanylko%2FTuxboard.Examples/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jdanylko%2FTuxboard.Examples/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jdanylko%2FTuxboard.Examples/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jdanylko","download_url":"https://codeload.github.com/jdanylko/Tuxboard.Examples/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jdanylko%2FTuxboard.Examples/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30458003,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-13T03:55:51.346Z","status":"ssl_error","status_checked_at":"2026-03-13T03:55:33.055Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["asp-net-core","aspnet","aspnet-core","aspnetcore","csharp","csharp-code","dashboard","dashboard-widget","dashboards","dotnet","dotnet-core","dotnetcore","dotnetcore6","dotnetcore7","dotnetcore8","efcore","entity-framework-core","visual-studio"],"created_at":"2025-02-05T11:51:38.467Z","updated_at":"2026-03-13T04:34:15.807Z","avatar_url":"https://github.com/jdanylko.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Tuxboard Examples\n\nTuxboard is a lightweight dashboard library specifically for the ASP.NET Core platform. It was meant to be a Lego-style way to build dashboards.\n\nI'm continually adding more examples through the articles on my [blog](https://www.danylkoweb.com/tuxboard) and using this repository for the \"dropzone.\" (don't worry...there's more coming)\n\nThe library is located [here](https://github.com/jdanylko/Tuxboard) and is available through NuGet [here](https://www.nuget.org/packages/Tuxboard.Core).\n\n## Technology Stack\n- ASP.NET Core 6.0 or higher (using C#)\n- Entity Framework Core\n\n## Examples\nThe repository contains the following examples:\n- **01-SimpleDashboard**\u003cbr/\u003eThe simplest way to create a static dashboard; VERY basic; no JavaScript with no features ([related post](https://www.danylkoweb.com/Blog/introducing-tuxboard-SY)) \u003cbr/\u003e\u003cbr/\u003e\n- **02-WidgetsExample**\u003cbr/\u003eA simple dashboard with a simple widget ([related post](https://www.danylkoweb.com/Blog/dashboard-modularity-TD))\u003cbr/\u003e\u003cbr/\u003e\n- **03-DragWidgets**\u003cbr/\u003eUsing TypeScript to move Widgets around on the dashboard ([related post](https://www.danylkoweb.com/Blog/moving-widgets-in-tuxboard-TE))\u003cbr/\u003e\u003cbr/\u003e\n- **04-Tuxbar**\u003cbr/\u003eDemonstrates how to create a complimentary toolbar for Tuxboard ([related post](https://www.danylkoweb.com/Blog/creating-a-tuxbar-for-tuxboard-TL))\u003cbr/\u003e\u003cbr/\u003e\n- **05-Layout-1**\u003cbr/\u003eCreate a simple layout dialog so users can adjust how their dashboard is structured ([related post](https://www.danylkoweb.com/Blog/managing-layouts-in-tuxboard-simple-layout-dialog-U2))\u003cbr/\u003e\u003cbr/\u003e\n- **06-Layout-2**\u003cbr/\u003eCreate an advanced layout dialog for more complex layouts ([related post](https://www.danylkoweb.com/Blog/managing-layouts-in-tuxboard-advanced-layout-dialog-U3))\u003cbr/\u003e\u003cbr/\u003e\n- **07-Add-Widgets**\u003cbr/\u003eCreate an Add Widget dialog ([related post](https://www.danylkoweb.com/Blog/adding-widgets-with-a-tuxboard-dialog-U4))\u003cbr/\u003e\u003cbr/\u003e\n- **08-Widget-Toolbar**\u003cbr/\u003eAdding buttons and dropdown to a widget's header ([related post](https://www.danylkoweb.com/Blog/using-widget-toolbars-or-deleting-widgets-U6))\u003cbr/\u003e\u003cbr/\u003e\n- **09-User-Dashboard**\u003cbr/\u003eCreate user-specific dashboards when users log in ([related post](https://www.danylkoweb.com/Blog/creating-user-specific-dashboards-U7))\u003cbr/\u003e\u003cbr/\u003e\n- **10-Default-Dashboards**\u003cbr/\u003eCreate role-specific dashboards when a user logs in ([related post](https://www.danylkoweb.com/Blog/creating-default-dashboards-using-roles-U8))\u003cbr/\u003e\u003cbr/\u003e\n- **11-Default-Widgets**\u003cbr/\u003eCreate role-specific widgets ([related post](https://www.danylkoweb.com/Blog/creating-default-widgets-using-roles-UA))\u003cbr/\u003e\u003cbr/\u003e\n- **12-Creating-Widgets**\u003cbr/\u003eCreate various types of widgets (coming soon)\u003cbr/\u003e\u003cbr/\u003e\n\n## Running Examples in Docker containers\n\nEach example has a Dockerfile that can be used to build a Docker image that can be used to run the examples in a Docker container.\n\nHere is how to run these examples, using the Simple Dashboard as an example.\n\n\n1. Set an environment variable TUXBOARDCONFIG__CONNECTIONSTRING. On Linux/Mac terminals, this would be like this, replacing the IP address, database name, username and password of your SQL Server database: `export TUXBOARDCONFIG__CONNECTIONSTRING='Data Source=IP_ADDRESS;Initial Catalog=DATABASE_NAME;Integrated Security=false;MultipleActiveResultSets=True;TrustServerCertificate=True;User Id=USERNAME;Password=PASSWORD'`\n2. Go into the 01-SampleDashboard folder and create a new file called development.env containing the following:\n```\nTUXBOARDCONFIG__CONNECTIONSTRING=CONNECTION STRING FROM STEP 2\nASPNETCORE_ENVIRONMENT=Development\n```\n3. Go into the 01-SimpleDashboard folder and run the following command `docker build -t simpledashboard -f Dockerfile .`\n4. Run `dotnet ef migrations add InitialCreate` to initial the database migrations.\n5. Run `dotnet ef database update` to apply the database migrations to the database.\n6. Run the docker container with the following command `docker run --name dash -d --env-file development.env -p 8080:8080 simpledashboard`\n\nTo run a different example, delete the database created in step #3 and run steps #2 - #6 changing the name of the docker container from simpledashboard to another name to match the example.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjdanylko%2Ftuxboard.examples","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjdanylko%2Ftuxboard.examples","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjdanylko%2Ftuxboard.examples/lists"}