During our Connect(); event this year we presented 15 demos in Scott Guthrie’s and Scott Hanselman’s keynotes. If you missed the keynotes, you can watch the recording in Channel 9.
This year, we built the technology stack for a fictional company named BikeSharing360, which allows users to rent bikes from one location to another.
BikeSharing360 is a fictitious example of a smart bike sharing system with 10,000 bikes distributed in 650 stations located throughout New York City and Seattle. Their vision is to provide a modern and personalized experience to riders and to run their business with intelligence.
In this demo scenario, we built several apps for both the enterprise and the consumer (bike riders). You can find all other BikeSharing360 repos in the following locations:
Mobile Apps Backend Services Websites Single Container Apps Multi Container Apps Cognitive Services Kiosk App *Azure Bot App
This repo contains the BikeSharing360 web sites.
The solution BikeSharing.Web.sln
located in folder /PublicWeb/
contains the BikeSharing360 Public Web Site. This is a MVC5 project, developed using VS2015.
Project can be opened using VS2015 Update 3 or VS2017RC.
This web uses gulp tasks to manage assets and scripts. Output of gulp tasks is in the Content
folder, and outputs of tasks gulps are not part of the csproj file. This is because if output files are part of the csproj, VS wants to include them in source control, what makes no sense for generated files.
The csproj file was modified manually to include a MSBuild Task to allow publish the output of gulp, even thought this output is not part of the project. Look at the csproj at line 710 and below for these changes.
The solution Public_Web_Site_Core.sln
located in folder /PublicWebSite_NetCore/
contains the BikeSharing360 Public Web Site. This is the NetCore version using csproj (no project.json).
Project must be opened using VS2017RC (No VS2015 support).
Code has been updated to use some of the new MVC Core features , like Tag Helpers.
This repo contains also a demo private web site that uses the microservices to display some lists about the BikeSharing360 users' operations. The folder /PrivateWebSite/
contains all files for the private web.
This project is a netcore 1.1 website and must be opened with VS2017 RC (no support for VS2015). Contains some of the new features of the netcore 1.1 as AppServices logs integration and View Components as Tag Helpers among others.
This website needs a database. The appsettings.json has a connection string against a (local)\mssqllocaldb database named bikesharing-private-web. You can use the file _/PrivateWebSite/sql/SampleDb.sql to fill the database with schema and sample data (Note that you have to manually create the database.)
Also, you need to edit the appsettings.json
file and update:
Once database is created you can login with any user with the password "Bikes360".
The folder VS2017-NetCoreTools-Demo
contains a version of the BikeSharing360 Public Web Site shown by Beth Massi in the "Visual Studio 2017 Launch Event" Keynote.
Is a version of the Public Web Site that uses a database (created using Entity Framework code-first) that has a list of cities where BikeSharing360 operates. It is developed using netcore 1.1
In this folder there are three subfolders:
You need an Azure account to work with this demo code. You can:
Here's links to blog posts related to this project:
If you see build issues when pulling updates from the repo, try cleaning and rebuilding the solution.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.