/SurveyShrike-API

SurveyShrike supporting web API services.

Primary LanguageC#

# SurveyShrike-Api

This is one of the main survey data provider module for SurveyShrike application. This service only deals with the survey management part and has separate database.

Build Status

Readings

Clean Architecture – pplications that follow the Dependency Inversion Principle as well as the Domain-Driven Design (DDD) principles tend to arrive at a similar architecture. This architecture has gone by many names over the years. One of the first names was Hexagonal Architecture, followed by Ports-and-Adapters. More recently, it's been cited as the Onion Architecture or Clean Architecture. enter image description here

Each layer communication diagram enter image description here

Getting Started

Use these instructions to get the project up and running.

Prerequisites

You will need the following tools:

Setup

Note: It requires the Identity server to be up and running. Follow these steps to get your development environment set up:

  1. Clone the repository

  2. Open the command prompt to project root directory SurveyShrike-API

    dotnet restore
    
    
  3. Next, build the solution by running:

    dotnet build
    
    
  4. Next, within the SurveyShrike-API (root) directory, launch the API server by running:

    dotnet run --project .\SurveyShrike-API\SurveyShrike-API.csproj
    
    
  5. Once the server has started, within the navigate to "http://localhost:8080/swagger, If it does not give error, We have successfully started API server.

Technologies

  • .NET Core 3
  • ASP.NET Core 3
  • Entity Framework Core 3

Project structure

enter image description here

  • SurveyShrike-API- Actual identity server API's.
  • SurveyShrike-API.Application - It contains business-logic and types
  • SurveyShrike-API.Persistence - contains all external concerns like database & migrations
  • SurveyShrike-API.Domain- contains enterprise-wide logic and types
  • -SurveyShrike-API.Common- common entities accross the api