├── LICENSE └── README.md /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 slidable 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # DeckHub 2 | 3 | This is the Home repo for the DeckHubApp organization, which comprises multiple projects. 4 | 5 | DeckHub is a [RendleLabs](https://rendlelabs.com) project with two aims: 6 | 7 | 1. Provide a useful set of tools for speakers, listeners and conference organizers to 8 | engage with each other and share knowledge more effectively. 9 | 2. Act as a reference application for cloud-native [ASP.NET Core](https://www.asp.net), 10 | with microservices, messaging, containerization, orchestration and so on. 11 | 12 | # Projects 13 | 14 | I'm working on adding a proper README to each project that details how they work and stuff. 15 | 16 | - **[cli](https://github.com/DeckHubApp/cli)** - 17 | is the command line tool for running presentations locally. 18 | - **[Live](https://github.com/DeckHubApp/Live)** - 19 | website (central one is running at [deckhub.app](https://deckhub.app)). 20 | - **[Identity](https://github.com/DeckHubApp/Identity)** - 21 | microsite to handle user authentication with [ASP.NET Identity](https://github.com/aspnet/Identity) 22 | - **[Shows](https://github.com/DeckHubApp/Shows)** - 23 | microservice for Shows. 24 | - **[Questions](https://github.com/DeckHubApp/Questions)** - 25 | microservice for Questions. 26 | - **[Notes](https://github.com/DeckHubApp/Notes)** - 27 | microservice for viewer Notes. 28 | - **[Realtime](https://github.com/DeckHubApp/Realtime)** - 29 | [SignalR](https://github.com/aspnet/SignalR) service for moving slides along on viewers devices, and live feed of Questions. 30 | - **[Slide](https://github.com/DeckHubApp/Slides)** - 31 | very microservice for storing and serving Slide images in Azure Blob Storage. 32 | - **[Presenter](https://github.com/DeckHubApp/Presenter)** - 33 | microservice for the CLI to interact with, and to render Presenter View. 34 | 35 | This Home repo will also contain the Docker Compose and Kubernetes files used to work with the 36 | projects in development mode, and to run them in a Kubernetes cluster in Production. 37 | 38 | # Technologies 39 | 40 | This project is built upon many others, most of them open source, although with a couple of 41 | Azure-specific Platform-as-a-Service bits. Here are all the ones I can think of right now: 42 | 43 | - [ASP.NET Core](https://github.com/aspnet/Home) 2.1, including: 44 | - [SignalR](https://github.com/aspnet/SignalR) for realtime messaging 45 | - [Identity](https://github.com/aspnet/Identity) for external authentication 46 | - [Entity Framework Core](https://github.com/aspnet/EntityFramework), plus 47 | - [Npgsql](https://github.com/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL) 48 | provider for EF Core 49 | - [.NET CoreRT](https://github.com/dotnet/corert) for building native executables of the CLI tool 50 | - [Markdig](https://github.com/lunet-io/markdig) for the slide rendering 51 | - [SharpYAML](https://github.com/xoofx/SharpYaml) for parsing YAML 52 | - [App Metrics](https://app-metrics.io) for production metrics 53 | - [PostgreSQL](https://www.postgresql.org/) for most data storage 54 | - [Redis](https://redis.io/) for caching and pub/sub messaging 55 | - [MessagePack for C#](https://github.com/neuecc/MessagePack-CSharp) for small, fast messages 56 | - [Azure Service Bus](https://azure.microsoft.com/en-gb/services/service-bus/) 57 | for message queues 58 | - [Azure Blob Storage](https://azure.microsoft.com/en-gb/services/storage/blobs/) 59 | for storing slide images 60 | - [Docker](https://www.docker.com/) for building images and running containers, including 61 | - [Docker Compose](https://docs.docker.com/compose/) for local orchestration 62 | - [Kubernetes](https://kubernetes.io/) for production orchestration 63 | 64 | You'll also see references to a couple of my own `dotnet` CLI tools that I think are nifty: 65 | 66 | - [dotnet-unpkg](https://github.com/RendleLabs/dotnet-unpkg) for quick-and-dirty installation 67 | of front-end JavaScript and CSS packages from [unpkg.com](https://unpkg.com) 68 | - [dotnet-embed](https://github.com/RendleLabs/Embedder) for even-quicker-and-dirtier embedding 69 | of UTF8 text in the CLI tool 70 | --------------------------------------------------------------------------------