Giter VIP home page Giter VIP logo

api-case's Introduction

API-Case

Een stage toegangsopdracht

Deze opdracht is bedoeld om mijn kennis in C# te laten zien aan het stagebedrijf Social Brothers. Dit opdracht bestaat uit drie delen:

Deel 1: API algemeen

In dit deel moest ik een simpele entiteit te maken en de database met de CRUD functies daarvan waar uitgeroepen moeten worden door een API controller. Om de API te kunnen tesetn, moest ik Swagger gebruiken.Ik heb dit deel netjes gemaakt waar alles werkend opgeleverd en tot behoren is. Om het project te testen moeten er niks extra's gedaan worden. gewoon clonen, opennen en runnen.
Het project werd in framework .NET 6.0 aangemaakt.

Voor de database gebruikte ik de volgende packages:
-Microsoft.EntityFrameworkCore.Relational (6.0.1)
-Microsoft.EntityFrameworkCore.Sqlite (6.0.1)
-Microsoft.EntityFrameworkCore.Tools (6.0.1)

Voor SWagger heb ik de volgende package gebruikt: Swashbuckle.AspNetCore (6.2.3)


Ik vind ORM's makkelijker, sneller en netter om ermee te werken bij het communiceren met de database. Daarom heb ik voor gekozen om dit opdracht door middel van EntityFramework te maken. En omdat ik met het model begonnen ben, heb hiervoor gekozen om (Code first) methode te gebruiken bij het migreren.
Ik ben trots op in wat ik gemaakt heb in dit deel.

Deel 2: Filters

Het was heel lastig voor mij om te weten hoe ver de filters gebruikt gaan worden en hoe flexiebel de filters moeten zijn. Ik heb onderzocht op een goede manier of naar een package hiervoor, maar helaas kon ik zelf dat niet vinden. Omdat ik geen genoeg tijd vanwege mijn studie heb, heb ik uiteindelijk de filter zelfgemaakt. Dit filter bouwt de filterstring gedeelte stuk voor stuk op basis van de ingevoerde waarden in de filter. Hij werkt prima, maar hij kan helaas niet tegen SQL-Injection. Dus ik vind hem niet veilig. Daarom ben ik niet helemaal tevreden in dit deel. Om de filter te kunnen gebruiken, kijk eerst naar het lijstje Operations binnen de klasse API_Case.Application.SqlFilter.Filter.

Deel 3: Afstanden

In dit deel moest ik door geolocation API de afstand tussen twee adressen tonen (in kilometers). Hiervoor heb ik een gratis API gevonden door TomTom. Omdat het adres in meerdere plaatsen hetzelfde kan zijn. Heb ik hiervoor gezorgd dat de latitude en longitude waarden van het adres gehaald kunnen worden op basis van Straat, Huisnummer, Postcode, Plaats en LandCode. Daarom om een accurate afstand te kunnen krijgen, moeten de adresgegevens accuraat ook zijn. Dit deel werkt prima, ik vind hem goed functioneren en ik ben erop trots.

Alles verder werd uitgelegd in commentaren binnen de klassen van het project.

Ik hoor graag uw mening in mijn oplevering.

api-case's People

Contributors

ahmadshuraih avatar

Watchers

 avatar

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.