mishani0x0ef / Project.Hub

Simple project that allow describe useful links and downloads for your project using configuration file.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Build Status CodeFactor

Project.Hub

Simple project that allow to describe useful links and downloads for your project using configuration file.

☛EXAMPLE SITE☚

Setup

Project.Hub is a web application that could be hosted on any hosting environment which is supported by ASP.NET Core.

To setup website do next steps:

  1. Navigate to latest release.
  2. Download archive with deliverables - project.hub_x.x.zip (it contains build of web app).
  3. Unpack project.hub_x.x.zip.
  4. Change hub.config.json file by describing your project's links (config description)
  5. Configure environment according to Microsoft guides (supported IIS, Windows Service, Nginx, Apache, Azure and other).

NOTE: last step depends on hosting environment. Current article doesn't describe specific environment setup. Read Microsoft guides if you are not familiar with .NET Core deployment.

Configuration

Site content of Project.Hub configurable over hub.config.json file which has next structure:

{
  "SystemLinks": [
    {
      "Name": "GitHub",
      "Description": "Link to project's GitHub.",
      "Url": "https://github.com/mishani0x0ef/Project.Hub",
      "ShowFavicon": true
    }
  ],
  "Environments": [
    {
      "Name": "Testing",
      "Description": "Testing environment.",

      "Sites": [
        {
          "Name": "GitHub link",
          "Description": "Could be link on any website. Click cause redirect.",
          "Url": "https://github.com"
        }
      ],

      "Downloads": [
        {
          "Name": "Download by link",
          "Description": "Download file using web link to this file.",
          "DownloadPath": "http://che.org.il/wp-content/uploads/2016/12/pdf-sample.pdf"
        }
      ],

      "Services": [
        {
          "Name": "Web Service (API) link",
          "Description": "Link any services and APIs used by your system.",
          "Url": "https://developer.github.com/v3/"
        }
      ]
    }
  ]
}

System Links

Collection of general links (git repository, issue tracker, build server, wiki etc.)

Member Type Description
Name (required) string Short display name of a link.
Url (required) string Absolute URI to website that represented.
Description (optional) string Textual description with details about a link.
ShowFavicon (optional) boolean Define is site's favicon should be shown near a link name (could improve UX).

Environments

Collection of environment descriptions (Testing, Staging, Production etc.). Could be used as hub for link to your products.

Member Type Description
Name (required) string Short display name of an environment.
Description (optional) string Textual description with details about an environment.
Sites (optional) SystemLink Collection of environment-specific links to websites
Downloads (optional) DownloadLink Collection of environment-specific download links of different files (installers, tools, any other files)
Services (optional) SystemLink Collection of environment-specific links to web services (APIs)

Download Link

Type that describe link to file for download.

Member Type Description
Name (required) string Short display name of file.
DownloadPath (required) string URL to file or path in file system.
  • Network shares supported
  • Supported version serch patterns (e.g "d:\builds\Android\app-v-..*.apk")
Description (optional) string Textual description with details about a file.
Mode (optional) "Direct" (default) | "FileSystem" Download mode to use.
  • Direct - when download by redirect to web-link
  • FileSystem - when download of actual file from disk or network share required.
Type (optional) "Application" (default) | "RemoteDesktop" Type of download link. User RemoteDesktop if file is remote connection configuration file (quite specific case).

Notes:

When use FileSystem download Mode make sure that web application has access to file you want to share.

When used version search pattern like "..*" in download file path hub will get latest version.

About

Simple project that allow describe useful links and downloads for your project using configuration file.

License:MIT License


Languages

Language:CSS 62.7%Language:C# 27.9%Language:HTML 8.2%Language:JavaScript 1.1%Language:PowerShell 0.1%