Git Product home page Git Product logo

node-mysql-todolist's Introduction

node-msql-todolist

Nodejs server, biedt API op een ToDo list MySql database. De API endpoints zijn beveiligd met JavaScript Web Tokens, dus je moet inloggen voordat je de services kunt gebruiken. Voor dit project is ook een Android client beschikbaar.

Vooraf

  • nodejs installeren
  • MySql of MariaDB installeren (bv. via XAMPP)
  • het script tododb.sql importeren in de database.

Gebruik

Vanaf command line:

npm install
npm start

De server runt op localhost:3000 en op Heroku.

API Endpoints

Om de API te kunnen gebruiken moet je inloggen. Dat kan met Postman. Stuur een POST naar /api/v1/login met in de body:

{
    "username": "username",
    "password": "test"
}

Je krijgt dan een JWT token dat je in de header van ieder request mee moet sturen. De header die je moet instellen:

Authorization:   Bearer <JWT token>

Voorbeelden van endpoints:

Testen

Het project bevat een aantal testen. Deze zijn natuurlijk niet compleet, maar geven een idee van hoe je een project als dit kunt testen.

Om de testen uit te voeren:

npm test

De testen worden ook, na een push naar GitHub, uitgevoerd op Travis CI. Het project wordt alleen als de testen slagen op Heroku gedeployed. De configuratie voor Travis staat beschreven in .travis.yml. Koppel Travis via een account aan je eigen GitHub repository.

Static Code Analysis met SonarQube

Er is ook een configuratie voor static code analysis met behulp van SonarQube. Deze anayse geeft je inzicht in de kwaliteit van je code.

De analyse wordt nog op je lokale machine uitgevoerd en daarna automatisch online gezet. Je moet de analyse dus nog handmatig triggeren. Hierbij wordt gebruik gemaakt van Gulpjs, en van de npm module sonarqube-scanner.

Om een analyse uit te voeren en naar SonarQube te publiceren:

gulp sonarqube

of

npm run sonar

Bekijk eventueel ook het bestand gulpfile.js; dat bevat het script dat de analyse uitvoert.

node-mysql-todolist's People

Contributors

rschellius avatar maartjeverbeet avatar

Watchers

James Cloos 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.