Giter Site home page Giter Site logo

armandj77-zz / inomnomgatewayapi Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 93 KB

Facilitates the requests to the Menu API and External User API used by the UI

Home Page: https://inomnomgarewayapi.azurewebsites.net/docs/index.html

License: MIT License

C# 100.00%

inomnomgatewayapi's Introduction

NOTICE

this project has been retired. The iNomnom project was part of an interview process and uses a 3rd party api to get data. This project is no longer being maintained and has been archived

iNomNomGatewayAPI

Problem Statement

Provides a single interface for the UI when interacting with resources from the Menu Api and External employee api, the gateway also provides a JWT token as an added security layer between UI and gateway.

Domain

The api returns results for a lunch menu and which contains menu items

Stack

Build ontop of:

  • .NetCore 2.2 as the RESTful framework
  • Entitiy Framework Core used as the ORM
  • Serilog used for logging
  • Swagger used for documentation
  • Fluentvalidation for dto validation
  • Automapper for dto to entity mapping
  • Nunit for testing
  • RestSharp for api http communication

Solution

Tests

  • Integration tests (Class Library) Used to house all the integration tests and the boilerplate required
  • Test Objects Contains the object mothers and builders user by the Integration Tests
  • Integrations
    • ExternalPythonService Used for employee lookups and CRUD operations. Has its own Token based authentication
    • iNomNomMenService Used for interaction on the menu items
    • Infrastructure Houses the Http Request layer used by the Service projects
  • GatewayApi Contains the project setup and controllers
  • Domain Has the handlers, builders, DTOs and mappings generally this contains all the business rules for th API
  • Repositories Is the Data layer linking the ORM and the database together and is consumed in the Domain. Designed a very thin Repository layerand avoided going tinto detail wiht the full implementation fo the repository and Unit of work pattern.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.