Skip to content

wesleyduff/HealthCatalystTest

Repository files navigation

Health Catalyst Test for Wesley Duff

ASP.NET MVC 6 & ASP.NET CORE w/ Code First Entity Framework

RUN - APP

  • git clone into directory
  • Open solution inside VS that has ** ASP.NET Core ** Visual Studio 2015 Update 3 .NET Core 1.0.0 ** VS 2015 Tooling Preview 2
  • ASP.NET CORE Downloads for the Update and Tooling Preview
  • After the app has fully loaded ( approximately 3 minutes) all of the dependencies need to be pulled down from the internet by Bower, NPM and other package manager utilities.
  • Once the solutions have loaded you can run the app CTRL + F5

Run C# Unit Tests

  • cd into \test\Person.Tests
  • type : dotnet test in the terminal
  • Or open the test explorer and run all tests

Run JavaScript Tests

  • In Visual Studio :
    • Open Task Runner Explorer
      • select "Asset1.Web" from dropdown
      • Click "Test" or for Test Driven Development click "TDD"
  • Inside the terminal : cd into src\Asset1 : Type in : karma start

Features

  • DashBoard
    • Filter any character matches within the first name or last name
    • Hover over icons to view information
    • Images have an image loader before images are served from RandomMe's API
    • Responsive layout for Mobile, Tablet and Desktop
    • Dashboard gets updated instantly when new data is added by the user
    • Data is changed when going between views
      • Keeps calls to the server to a minimum
    • Dashboard is seeded with three people on startup
  • Adding People
    • Validation on items marked with a "*"
    • Validation messaging
    • Validation on server side and client side
    • Placeholder data for easy usability
    • Events prevent default to keep from posting unwanted data and page refreshes
    • Select a photo
      • Adding photo uploading and management of file size and poor quality photos seemed out of scope. Therefor gaining access to RandomMe’s photo API and taking those URIs and saving those to the database.
      • Photo selection easily managed
      • If you do not select a photo then a generic Male or Female photo will be selected for you depending upon your gender.
        • Gender is selected from your selected title.
      • Images for the image selection have a preloading image to allow the user insight on why images are not available at the moment.
  • People are saved through an ASYNC method on the back-end

Back-end

  • Interfaces, BaseClasses, Builder, Director, Repository, Composer, ServiceClient patterns put in place with separation of core platforms in their respective project assemblies.
  • Code First Entity Framework put in place as part of the ASP.NET MVC 6 / ASP.NET Core implementation.
    • Migrations managed by dotnet command line application with build in migration support
  • Unit Testing performed with XUNIT

Front-end

  • HTML5
  • CSS3 | Using LESS | Gulp to Build
  • Gulp to build | combine files for LazyLoading Angular Modules
  • Angular 1.5.x
  • Angular UI Router
  • OC.LazyLoad for loading modules only when needed
  • RequireJS used for modular JavaScript dependencies
  • RazorView for loading the Main Page
  • ViewModels created for controller implementation into the View
  • Composer, Builder, Service, Modules (in requireJS and Oc.LazyLoad), Singleton patterns used
  • Testing JavaScript
    • Gulp script to run TDD and one off tests within Visual Studio
    • Karma, Jasmine, requireJS used for the test runner, testing software and module loading
  • Implementation of Fontawesome, HTML5 Boiler Plate, Bootstrap, jQuery, and other frameworks
  • Implementation of raw JavaScript as well for Utilities

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published