Skip to content

profjordanov/WeddingsPlanner

Repository files navigation

WeddingsPlanner

Application for monitoring marriages around Bulgaria.

Technology Stack:

  • C# 7.1
  • .NET Core Web API v2.1
  • EntityFramework Core with SQL Server and ASP.NET Identity
  • Apache Cordova
  • jQuery Mobile

Test Suite

  • SQL Database Integration Testing
  • Arrange Act Assert Pattern
  • xUnit
  • Autofixture
  • Moq
  • Shouldly

Features:

Web API

  • AutoMapper
  • File logging with Serilog
  • JWT authentication/authorization
  • Stylecop
  • Neat folder structure
├───src
|   |___clients
|       ├───jQuery.Client
|       ├───WeddingsPlanner.Mobile
│   ├───configuration
│   └───server
│       ├───WeddingsPlanner.Api
│       ├───WeddingsPlanner.Business
│       ├───WeddingsPlanner.Core
│       ├───WeddingsPlanner.Data
│       └───WeddingsPlanner.Data.EntityFramework
└───tests
    └───WeddingsPlanner.Business.Tests

  • Global Model Errors Handler
  • Global Environment-Dependent Exception Handler
  • Neatly organized solution structure
  • Thin Controllers
/// POST: /Account/Login
/// <summary>
/// Login.
/// </summary>
[HttpPost]
public async Task<IActionResult> Login(CredentialsModel model)
    => (await _usersService.LoginAsync(model))
        .Match(RedirectToLocal, ErrorLogin);
  • Robust service layer using the Either monad.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites

  1. You'll need version 2.1.4 of the .NET Core SDK.

  2. If not, you'll need to have SQLServer either installed locally or at least have some instance available to set up the connection strings.

  3. For the mobile application, you will need NodeJS.

Running Using Visual Studio

  1. Download it via CLONE OR DOWNLOAD BUTTON
  2. Unzip the project
  3. Open the .sln file using Visual Studio
  4. Set up the connection strings inside WeddingsPlanner.Api/appsettings.Development.json (or leave the set)
  5. Execute Update-Database inside the Package Manager Console
  6. Run the FamousQuoteQuiz.Api
  7. Go to src/client/WeddingsPlanner.Mobile
  8. Open it via Visual Studio