Skip to content
Bart van Vliet edited this page Jan 21, 2019 · 6 revisions

Wat word er gebruikt?

Voor de api hebben wij gebruik gemaakt van Ts.ED (Typescript Express Decorators) dit is een Typescript framework die decorators aan Typescript toevoegt waardoor je makkelijk en snel een API / Web Applicatie zou kunnen ontwikkelen.

Het design pattern wat wij hebben toegepast is Model View Controller Service (MVCS), Hoewel de API geen Views heeft.

Voorbeeld Controller:

@Controller('/v1/example')
export class ExampleController {

    @Get('/')
    public async example() {
         return { 
             err: false, 
             message: 'ok'
         };
    }

}

Dit zorgt er voor dat er een nieuwe url toegankelijk is namelijk /v1/example/, mocht je een request maken naar deze url is dit het resultaat:

// curl -X GET "http://localhost/v1/example/"
{ 
    "err": false, 
    "message": "ok"
}

Swagger

Ts.ED heeft de mogelijkheid om automatisch (en real-time) een API documentatie te genereren volgens de OpenAPI Specification dit is een specificatie speciaal ontwikkeld om er voor te zorgen dat mens en computer de mogelijkheden van een service kunnen inzien zonder toegang te moeten krijgen tot de code.

Deze specificatie geven wij weer via de Swagger-UI library.

Onze API documentatie kunt u hier vinden: GetFood API.

Continous Integration

Doordat wij het belangrijk vonden om snel dingen te testen en ontwikkelen hebben wij gebruik gemaakt van CircleCI. Dit is een service die een configuratie bestand pakt en stappen gaat doorlopen om te testen of de applicatie nog werkt, en mocht de API door de tests heen komen hij automatisch een deploy doet naar alle servers die wij hebben.

Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times a day. Each check-in is then verified by an automated build, allowing teams to detect problems early.

Workflow

Build

Deploy

Clone this wiki locally