/BlipProjects

ASP.NET MVC case study solution for PluralSight Hack.Guides(). Demonstrates structuring a solution with separate projects for the web application, entities, data context, utilities, and tests.

Primary LanguageJavaScriptMIT LicenseMIT

BlipProjects

BlipProjects is an ASP.NET MVC case study solution to accompany a guide in the PluralSight HackGuides() collection for Microsoft .NET technologies.

PluralSight Hack.Guides()

ASP.NET MVC - Creating solutions with separate projects for entities, data access, and website functionality - This guide shows how to structure a multi-project solution for a simple web application using Entity Framework and the Model-View-ViewModel (MVVM) design pattern along with the repository pattern.

Notice: PluralSight and the author(s) disclaim any liability for errors or omissions in this code. See the Disclaimer of Warranties and Limitation of Liability for complete information.

Solution Projects

Project Application Layer
Blip.Common Utility Classes
Blip.Common.Test Tests for Blip.Common (placeholder)
Blip.Data Data Context and Repositories
Blip.Data.Tests Tests for Blip.Data (placeholder)
Blip.Entities Data Entities
Blip.Entities.Test Tests for Blip.Entities (placeholder)
Blip.Web User Interface (views) and Business Logic (controllers)

Technologies

Dependency Version*
.NET Framework 4.6.2
ASP.NET MVC 5.2.3
Bootstrap 3.3.7
C# 6
Entity Framework 6.1.3
jQuery 3.2.1
jQuery Validation 1.16.0
Microsoft Identity 2.2.1
Microsoft jQuery Unobtrusive Validation 3.2.3

* As of the latest commit.

Getting Started

  1. Download or clone this repository.
  2. Open the solution in Visual Studio 2017 or higher.
  3. Select the Blip.Data project.
  4. Open a Package Manager Console window.
  5. Select "Blip.Data" for Default Project.
  6. Run: update-database.

This will create the database, apply Entity Framework migrations, and run the Seed method to populate the database with values for the lookup tables.

Configuration

  • Two projects contain configuration strings which may require modification for the developer's specific environment:

    Project File
    Blip.Data App.config
    Blip.Web Web.config
  • The configuration strings specify the instance of SQL Server Express installed with Visual Studio 2017 as the target database server: Data Source=(localdb)\ProjectsV13. Developers using a different target database will have to change the connection strings in both projects.

License

This project is licensed under the terms of the MIT license.

Contributing

See the accompanying instructions on How to contribute.

Disclaimer of Warranties and Limitation of Liability

The contents of this repository are offered on an as-is and as-available basis and the authors make no representations or warranties of any kind concerning the contents, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable.

To the extent possible, in no event will the authors be liable on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of the use of the contents, even if the the authors have been advised of the possibility of such losses, costs, expenses, or damages.

The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability.