https://github.com/philippebeck/nemjs
JavaScript Backend Services
https://github.com/philippebeck/nemjs
backend-services bcrypt dotenv email-validator generate-password grunt javascript-library jwt nodemailer password-validator remove-accents sharp valid-url
Last synced: 12 months ago
JSON representation
JavaScript Backend Services
- Host: GitHub
- URL: https://github.com/philippebeck/nemjs
- Owner: philippebeck
- License: apache-2.0
- Created: 2022-05-04T17:01:23.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2023-12-24T18:32:32.000Z (over 2 years ago)
- Last Synced: 2024-05-02T02:06:28.516Z (about 2 years ago)
- Topics: backend-services, bcrypt, dotenv, email-validator, generate-password, grunt, javascript-library, jwt, nodemailer, password-validator, remove-accents, sharp, valid-url
- Language: JavaScript
- Homepage:
- Size: 672 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# nemjs
JavaScript Backend Service Library
[](https://www.npmjs.com/package/nemjs)
[](https://www.npmjs.com/package/nemjs)
[](https://github.com/philippebeck/nemjs/commits/master)
[](https://www.codacy.com/gh/philippebeck/nemjs/dashboard)
[](https://codeclimate.com/github/philippebeck/nemjs/maintainability)
[](https://github.com/philippebeck/nemjs)
[](https://github.com/philippebeck/nemjs/tree/master)
## Overview
nemjs is a JavaScript Backend Service Library.
You will find some Services about Checkers, Getters & Setters
Auth services are using JWT & bcrypt
Mail services are using nodemailer
Image services are using sharp
## Summary
- [nemjs](#nemjs)
- [Overview](#overview)
- [Summary](#summary)
- [Package](#package)
- [Download](#download)
- [Content](#content)
- [Usage](#usage)
- [Tests](#tests)
---
## Package
NPM : `npm i nemjs`
Yarn : `yarn add nemjs`
---
## Download
[Latest Release](https://github.com/philippebeck/nemjs/releases)
or
`git clone https://github.com/philippebeck/nemjs.git`
or
[Master ZIP](https://github.com/philippebeck/nemjs/archive/refs/heads/master.zip)
---
## Content
Checkers part :
- **checkAuth(req, res, next)** : check JWT auth to routes
- **checkEmail(email)** : check email validity
- **checkPass(pass)** : check password validity
- **checkRange(value, min, max)** : check number|string range with min/max
- **checkUrl(url)** : check url validity
Getters part :
- **getName(name)** : get kebab-case name
- **getPosterName(name)** : get image name for gallery cover
- **getMailer()** : get mailer with nodemailer
- **getMessage(message)** : get message
- **getPassword()** : get generated password
Setters part :
- **setAuth(pass, user, res)** : set JWT
- **setImage(inputImg, outputImg, width, height)** : set image
- **setThumbnail(inputImg, outputImg, width, height)** : set thumbnail
---
## Usage
1. Copy the `.env.example` file to your project root, rename it `.env` & replace values with your own values
2. Add `const nem = require("nemjs")` where you need (file or function top level)
3. Then use it like in these examples :
- `router.get("/", nem.checkAuth, UserCtrl.list)`
- `nem.setAuth(guest.password, user, res)`
- `if (nem.checkEmail(guest.email)) { ... }`
- `if (nem.checkRange(guest.name)) { ... }`
- `if (nem.checkPass(guest.password)) { ... }`
- `const pass = nem.getPassword();`
- `if (nem.checkUrl(item.url)) { ... }`
- `nem.setImage(uploadImage, newImage);`
- `nem.setThumbnail(uploadImage, newImage);`
- `const mailer = nem.getMailer()`
- `let message = nem.getMessage(req)`
---
## Tests
You can run unit tests with Jest :
NPM : `npm test`
Yarn : `yarn test`