superapiboost
v0.2.1
Published
SuperApiBoost is a tool to generate a express and mongoose api easy and fast.
Downloads
5
Maintainers
Readme
README
SABO is a client to make rest api nodejs, typescript, express, mongoose faster and easy.
Usage & Demo
Instalation
Using npm
npm i -g superapiboost
Commands
To generate a new project use the command:
sabo new -n=[NAME]
Folder structure:
📦API
┣ 📂node_modules
┣ 📂src
┃ ┣ 📂api
┃ ┃ ┣ 📂routes
┃ ┃ ┗ 📜index.ts
┃ ┣ 📂controllers
┃ ┃ ┗ 📜mongoBasic.ts #Basic CRUD Methods
┃ ┣ 📂interfaces
┃ ┣ 📂tools #transversal functions in the project
┃ ┃ ┗ 📜validateType.ts
┃ ┣ 📜app.ts
┃ ┣ 📜config.ts
┃ ┗ 📜mongo.ts
┣ 📜package-lock.json
┣ 📜package.json
┗ 📜tsconfig.json
Config.ts remember add the mongo uri in this file.
export default {
MONGO: process.env.MONGO || 'URI',
PORT: process.env.PORT || 8080,
MESSAGES: {
success:'Success',
error: 'Failed',
createError: `Can't create record`,
updateError: `Can't update record`,
delete: `Can't delete record`,
}
};
Generate
This command make the route and controller
sabo generate -n=[NAME] -p=[ROUTE]
You can generate the interface and mongo schema if you create a json file with the next example structure:
Structure json.
{
"name":{
"type":"string",
"required":true,
"default":"'Andy'"
},
"cellphone":{
"type":"number",
"required":false
},
"isValid":{
"type":"boolean",
"required":true,
"default":"true"
}
}
and use the flag -p path:
sabo generate -n=User -p="C:/models/user.json"
Files Generated
📦API
┣ 📂src
┃ ┣ 📂api
┃ ┃ ┣ 📂routes
┃ ┃ ┃ ┗ 📜userRoute.ts
┃ ┃ ┗ 📜index.ts //this file has been modificated
┃ ┣ 📂controllers
┃ ┃ ┗ 📜userController.ts
┃ ┣ 📂interfaces
┃ ┃ ┗ 📂user
┃ ┃ ┃ ┗ 📜IUser.ts
Run
npm start
Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.