Express: Used for handling requests, responses, routing, port setting etc.
bcryptjs: Enables storing of passwords as hashed passwords instead of plaintext.
body-parser: Extracts the entire body portion of incoming request stream and exposes it on req.body.
cors: A package used to allow or restrict requested resources depending on from where the request was originated. In our case, we allow requests from all clients.
express-validator: A middleware used for incoming request data validation and sanitization.
jsonwebtoken: A package implementing JWT standar for secure data transmission. Generate a token to be used in headers when signing in to allow access to restricted resources.
mysql2: A MySQL driver, used for connection with msyql database in native JS.