Skip to content

csmichaelkamal/Simple-Code-Challenge

Repository files navigation

Service Delivery APIs

TL;DR

To Run the project:

  • You need .Net SDK 3.1
  • You can run it on Visual Studio 2022, vscode, or from the cmd using .Net CLI
  • Make sure that the API project is set as the startup project
  • Press Ctrl+F5 (visual studio) or
    • From the command line, run:
      • dotnet restore
      • dotnet build --no-restore
      • dotnet run --no-build MAERSK.ServiceDelivery.CodeChallenge.APIs.dll, --no-restore is called implicitly
      • Note: you can directly run dotnet run ..., it will implicitly restore and build the project

This is a very simple API project for managing Voyage Container Prices, like updating the voyage price, and retrieving the average container price for the last 10 voyages for a given currency. See below for the supported currencies

Providing two main APIs (and one utility endpoint):

  1. UpdatePrice
  2. GetAveragePrice

Tools and Technologies used in this project:

  • .Net Core
  • Asp.Net Core (API)
  • C#
  • Entity Framework Core (EF Core) with InMemory Db
  • Visual Studio 2019
  • Docker (on linux)
  • API Versioning
  • Swagger (Open API) via SwashBuckle library

We should:

  • Use a cache for our APIs, like Redis or Memcached
  • Use a mapper like Automapper
  • Securing the APIs via OAuth2.0 and OpenId Connect (maybe via IdentityServer4)
  • Use Repository Pattern and UnitOfWork, but because of being a small project with just few CRUD operations, we didn't use it

Supported Currencies

  1. USD
  2. EUR
  3. DKK
  4. GBP

Terminologies used in this project

About

Service Delivery Department

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published