Simple project that allow to describe useful links and downloads for your project using configuration file.
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:
- Navigate to latest release.
- Download archive with deliverables - project.hub_x.x.zip (it contains build of web app).
- Unpack project.hub_x.x.zip.
- Change hub.config.json file by describing your project's links (config description)
- 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.
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/"
}
]
}
]
}
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). |
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) |
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.
|
Description | (optional) string | Textual description with details about a file. |
Mode | (optional) "Direct" (default) | "FileSystem" | Download mode to use.
|
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.