All Projects â†’ ecampidoglio â†’ Linker

ecampidoglio / Linker

Licence: MIT license
🔗 A simple URL shortening website that serves as a nice demo application.

Programming Languages

C#
18002 projects
powershell
5483 projects
HTML
75241 projects
SCSS
7915 projects
javascript
184084 projects - #8 most used programming language
shell
77523 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to Linker

aspnet-core-social-network
Social network based on ASP.NET Web API Core 2
Stars: ✭ 36 (+71.43%)
Mutual labels:  aspnet-core, aspnet-web-api
lumen-realworld-example-app
Exemplary real world backend API built with Lumen + MongoDB
Stars: ✭ 50 (+138.1%)
Mutual labels:  demo-app
InternalSteamWebAPI
Documenting the unofficial and internal Steam Web API
Stars: ✭ 126 (+500%)
Mutual labels:  web-api
arcus.templates
Collection of .NET templates & tooling to get started very easily.
Stars: ✭ 16 (-23.81%)
Mutual labels:  web-api
xamarin-forms-demo-app
A demo application in this repository demonstrates the capabilities of the DevExpress Mobile UI for Xamarin.Forms: Data Grid, Editors, Charts, Scheduler, Data Form, and other controls.
Stars: ✭ 74 (+252.38%)
Mutual labels:  demo-app
jesi
Hypermedia API Accelerator
Stars: ✭ 19 (-9.52%)
Mutual labels:  web-api
graphql-demo
Simple graphql server app.
Stars: ✭ 17 (-19.05%)
Mutual labels:  demo-app
AngularLocalizationAspNetCore
Angular ASP.NET Core localization
Stars: ✭ 26 (+23.81%)
Mutual labels:  aspnet-core
awesome-webhid
Curated list of resources relating to the WebHID (Human Interface Device) API
Stars: ✭ 126 (+500%)
Mutual labels:  web-api
1974
Curso 1974 - Criando APIs com ASP.NET Core 2.0 e Dapper
Stars: ✭ 44 (+109.52%)
Mutual labels:  aspnet-core
MessengerBot-WebAPI
Asp.net WebAPI Template of Facebook Messenger Bot
Stars: ✭ 22 (+4.76%)
Mutual labels:  web-api
Android-PDF
Create PDF in Android using iText
Stars: ✭ 53 (+152.38%)
Mutual labels:  demo-app
FSharp.JsonApi
Use F# to create and consume flexible, strongly typed web APIs following the JSON:API specification
Stars: ✭ 20 (-4.76%)
Mutual labels:  web-api
Responsive
ASP.NET Core Responsive middleware for routing base upon request client device detection to specific view
Stars: ✭ 36 (+71.43%)
Mutual labels:  aspnet-core
OnlineUsers-Counter-AspNetCore
Display online users count in ASP.NET Core in two ways (Cookie - SingalR)
Stars: ✭ 29 (+38.1%)
Mutual labels:  aspnet-core
AspNetCorePostgreSQLDocker
ASP.NET Core Docker EF Core
Stars: ✭ 22 (+4.76%)
Mutual labels:  aspnet-core
FirebaseLoginDemo
A simple demo for Firebase Signup & Login
Stars: ✭ 17 (-19.05%)
Mutual labels:  demo-app
YoApp
YoApp, messaging suite with batteries included!
Stars: ✭ 17 (-19.05%)
Mutual labels:  aspnet-core
OpenTrivia
Multiplayer quiz game demo using React and Opentdb API
Stars: ✭ 47 (+123.81%)
Mutual labels:  demo-app
JWTAuthNETCore3
.NET Core 3.0 (Preview 4) web API authentication demo project with password hashing and JWT Tokens
Stars: ✭ 16 (-23.81%)
Mutual labels:  web-api

Linker

Azure Pipelines AppVeyor GitHub Actions Travis CI Coveralls
Azure Pipelines AppVeyor GitHub Actions Travis CI Coveralls

Linker is a really simple web-based URL shortening service.

Background

When I set out to create a Pluralsight course about my favorite build tool, Cake, I needed a sample app for my demos. The idea behind the course was to take an existing web app and show you how to use Cake to create a build and deployment pipeline for it from scratch. By the end, you'd have a Cake script that can take the application all the way from source code to software running on a server. That idea eventually turned into Building and Deploying Applications with Cake, which you can read more about here.

Right from the start, I had three requirements for my demo app:

  1. Be simple
  2. Be realistic
  3. Don't be boring

I wanted an app that felt realistic—alas, not the usual ASP.NET MVC sample app—but that was also simple enough not to become a cognitive burden. The last thing you want in a course is having to spend half the time explaining what your demo app does.

I could have gone for one of the classics like the fake CRM or the online pet store, but that would be boring. Remember, I wanted to do something fun and, possibly, useful.

So, I decided to make a URL shortening service: meet Linker.

Overview

Linker consists of a RESTful API backed by a relational database and consumed by a web frontend. Here's an overview:

Linker's Architecture

This repository contains the complete source code, with tests and everything. There's also the complete build and deployment script written with Cake.

Platform

Cake is cross-platform and so is Linker. Originally, I wrote two versions of it:

  • One that runs only on Windows on top of the .NET Framework
  • One that runs on Windows, macOS or Linux built on top of .NET Core

You'll find the Windows-only version in the pluralsight-net4.6 branch, while the cross-platform one is in a branch called pluralsight-netcore1.0. These are the exact versions featured in the Pluralsight course and will stay as they are for reference.

As time went on, however, I realized that if Linker was going to stay valuable, it had to be kept up-to-date with the current technology. So, I eventually upgraded the .NET Core version from 1.0 to 2.1 LTS.

.NET Core is clearly the future when it comes to .NET development; it's also cross-platform, leaving little value in maintaining a separate version that only runs on Windows. For these reasons, I decided to make the .NET Core 2.1 version the canonical version by merging it into master. That became the officially maintained version of Linker going forward.

What to Do with It

Although Linker came into existence to serve the needs of my Pluralsight course Building and Deploying Applications with Cake, it has proven to be equally useful for other educational purposes. In fact, I'll go as far as to say that if you ever find yourself in need of a demo app for a course, a talk or a workshop, feel free to use Linker. To put in one sentence:

Linker is a simple and complete ASP.NET Core web application, ready to go. 🚀

Of course, if you would like to improve it in any way, pull requests are always welcome.

Additional Resources

You can see Linker in action in the following online resources:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].