REST API using Nest.
- registration through email confirmation
- password recovery using email
- user session management: jwt, access/refresh tokens
- admin functionality (admin can ban users or blogs)
- blog management (users can create/update/delete their own blogs and posts)
- user ban by blogger
- comments: users can leave comments under posts
- likes/dislikes: users can leave likes, remove their own likes
PORT - tcp port to listen on
USER_NAME - admin username
PASSWORD - admin password
sqlHost - ip or hostname of postgreSQL server
sqlPort - port to connect to postgeSQL
sqlUser - username for postgeSQL
sqlPass - password postgeSQL
sqlDatabase - db name
emailUser - email for sending (gmail only)
emailPassword - app password generated by gmail
mailSenderName - name to be displayed in email
emailConfirmLink - URL that should be sent as a link to confirm email ([link]?code=[confirmationCode])
passwordRecoverLink - URL that should be sent as a link to recover password ([link]?recoveryCode=[confirmationCode])
enableTesting - if set to 'true', enables DELETE /testing/all-data endpoint
ddosGuardDisable - if set to 'true', throttling filter shall be disabled
ddosMaxRequests - requests amount to block ip
ddosTimeoutSeconds - time range to accumulate requests amount
jwtSecret - secret to encode jwt tokens
emailConfirmationMinutes - minutes for user to confirm email
passwordRecoveryExpireMinutes - minutes for user to set password after requesting
refreshTokenExpireMinutes - minutes before refresh gets expired
refreshTokenExpireSeconds - seconds added to previous parameter
accessTokenExpireMinutes - minutes before access gets expired
accessTokenExpireSeconds - seconds added to previous parameter