Parts Unlimited

Parts Unlimited is an example eCommerce website site based for training purposes on the website described in chapters 31-35 of The Phoenix Project, by Gene Kim, Kevin Behr and George Spafford, © 2013 IT Revolution Press LLC, Portland, OR. Resemblance to “Project Unicorn” in the novel is intentional; resemblance to any real company is purely coincidental.

These labs are mostly based around the application PartsUnlimited, and they will walk you through implementing DevOps practices using Azure DevOps. The source files and labfiles used in these labs are available from the PartsUnlimited Git Repository http://github.com/microsoft/partsunlimited

There is also a shortened URL avalable for this site which you can use if you wish i.e. http://aka.ms/pulabs

Training and Certification usage

The labs on these GitHub pages are used as part of two training paths and certification programs:

Lab Structure

The labs available on this page are divided into sections that correspond to online courses or are direct mapping to objective domains sections of the AZ-400: Microsoft Azure DevOps Solutions exam.

GitHub pages lab sections and corresponding courses

PartsUnlimted Application - Key Features

  • Works with Visual Studio 2017
  • ASP.NET 5 support for Linux and Mono
  • Updated to .NET Core 2.0 in Jan 2018
  • Modern HTML5 responsive layout using bootstrap for mobile, tablet, and PC
  • Includes a Dockerfile and sample publishing profile to publish to a Docker container
  • Supports multiple authentication options including Azure Active Directory, Google, and Facebook
  • Azure Machine Learning product recommendations based on Order History
  • Designed for Azure Websites, including Testing in Production, Staging slots and environment variables for feature flags (to turn off recommendations)
  • Includes Grunt tasks for publishing assets to Azure Storage for CDN ingestion for faster performance
  • Entity Framework code-first using SQL Azure or an in-memory database (Mono)
  • Basic administration pages to add or edit product information
  • Includes Azure RM JSON templates and PowerShell automation scripts to easily build and provision your environment

For the labs based around the PartsUnlimitedMRP Java based application see the page http://microsoft.github.io/PartsUnlimitedMRP. The application and labs on this page use mostly open source software including Linux, Java, Apache, and MongoDB which creates a web front end, an order service, and an integration service.

Issues and Updates

If you find any issues with the lab steps, you can open an issue in the github repo https://github.com/microsoft/PartsUnlimited and we will try to help resolve it, although response times can vary. You can also look through any previosuly logged issues in case it has been reported previously.

If you wish to submit fixes directly to a lab you can do so by opening Pull Request in the same GitHub repo, i.e. https://github.com/microsoft/PartsUnlimited against the file in question. See the bullets below for details.

  • The lab steps on this page are sourced from files in the gh-pages branch in the _posts folder.
  • To identify the correct file against which to open a Pull Request, note the last part of the URL on the lab in question from your browser i.e. for the PartsUnlimted Setup with Visual Studio lab, the URL is http://microsoft.github.io/PartsUnlimited/pandp/200.1x-PandP-PUsetupwithVS2017.html, so note the last part of that URL.
  • Then locate the corresponding file in the gh-pages branch in the _posts folder i.e. in this example it would be https://github.com/Microsoft/PartsUnlimited/blob/gh-pages/_posts/2018-01-08-200.1x-PandP-PUsetupwithVS2017.md
  • Then open the Pull request against the file in question.
  • All lab step files are in markdown.
  • Images in the lab steps are located in the assets folder in individual lab folders. If you are not sure of the folder, the image location paths are available from the individual lab markdown files located in the _posts folder.
  • Updates to help keep the labs current are welcome.

Media Elements and Templates

You may copy and use images, clip art, animations, sounds, music, shapes, video clips and templates provided with the sample application and identified for such use in documents and projects that you create using the sample application. These use rights only apply to your use of the sample application and you may not redistribute such media otherwise.