RapidJet is a command-line tool designed to simplify the process of building APIs by generating boilerplate code quickly and easily.
To use RapidJet, simply install it globally via npm:
npm install rapidjetTo initialize RapidJet in your project, run the following command:
npx rapidjet initThis command will create a rapidjet.config.json file in your project directory with the following content:
{
"apiPath": "src/api",
"databasePath": "database/index.js",
"orm": "sequelize",
"typescript": false
}You can customize the configuration according to your project needs. Available options for orm are "sequelize" for PostgreSQL and "mongoose" for MongoDB.
To generate a new API, run the following command:
npx rapidjet generateThis command will prompt you to enter the model name and fields. For example, if you enter user as the model name and name:string,email:string as the fields, RapidJet will create a folder named user inside the specified apiPath with the following structure:
user/
|-- controllers/
| |-- user.js
|-- models/
| |-- user.js
|-- middlewares/
| |-- user.js
|-- routes/
| |-- user.js
The RESTful API for the user model is now ready to serve.
The generated routes are fully RESTful, following best practices for REST APIs. By using RapidJet, users can easily follow RESTful API principles and become masters of API development.
For example, for a user model, the generated routes might look like this:
import { Router } from 'express';
import { create, find, update, destroy, findOne } from '../controllers/user.js';
const router = Router();
// Create user
router.post("/api/users", [], create);
// List users
router.get("/api/users", [], find);
// List Single user
router.get("/api/users/:id", [], findOne);
// Update users
router.put("/api/users/:id", [], update);
// Delete user
router.delete("/api/users/:id", [], destroy);
export default router;To remove a generated API, run the following command:
npx rapidjet remove modelNameReplace modelName with the name of the model you want to remove. This command will delete the corresponding folder and its contents from the specified apiPath.
While working with rest api , pagination plays crucial role , we rapidjet provides -
getPagination();
getMeta()getPagination() takes {page,pageSize} getMeta() takes response returned from getPagination() and count of the document
RapidJet currently supports generating APIs with Sequelize for PostgreSQL and Mongoose for MongoDB. If you encounter any issues or have suggestions for improvement, please feel free to open an issue on GitHub.
This project is licensed under the MIT License - see the LICENSE file for details.
- Node.js
- CLI
- RESTful API
- Express
- rest api
