automate-backend-fullstack
v3.0.0
Published
Automate MVC of the Backend FullStack Projects
Downloads
207
Maintainers
Readme
Automate Backend MVC for FullStack Projects
automate-backend-fullstack
is an npm package that helps you quickly set up a MongoDB model, Controller and Route in a Node.js MVC backend using the Mongoose ORM. This CLI tool allows you to specify model details, including field types, uniqueness, requirements, and default values, creating a ready-to-use Mongoose schema.
Features
Interactive CLI: Prompts for model name, number of fields, and details for each field.
Flexible Field Options: Supports field configurations including type, unique, required, and default value.
Automatic Model Generation: Creates a Mongoose model file in a structured format. Avoids Redundant Model Creation:
Avoids Redundant Model Creation: Checks if a model with the specified name already exists and prompts to confirm overwriting, saving you from recreating existing models.
About Controller : This npm package helps to create Controllers after create models. According to this Controller created using given name for model
About Route : This npm package helps to create Routes after create models and Controllers. According to this Route created using given name for model
Installation
- To use this package as a global CLI tool, install it using:
npm install -g automate-backend-fullstack
Usage
- To create a new model, simply run:
npx create-mvc-fullstack
Step-by-Step Process
Run the Command: After running
npx create-mvc-fullstack
you’ll be prompted for the model details.Specify the Model Name: Enter the name for your model (e.g., User, Product). If a model with this name already exists, you’ll be prompted to overwrite it or skip creation.
Define Field Count: Specify the number of fields the model will have.
Enter Field Details: For each field, you’ll be prompted for:
- Field Name: Name of the field (e.g., email, username).
- Field Type: Data type of the field (e.g., String, Number).
- Unique: Whether the field should be unique (true or false).
- Required: Whether the field is required (true or false).
- Default Value: Optional default value for the field (leave blank if not required).
After Model Create then you can create Controller
- after creating of model it automatically ask to create Controller and Route using given name for model
Example
- If you specify a model name as
User
with two fields (email and username), the generated schema file will look like this:
const mongoose = require("mongoose");
const UserSchema = new mongoose.Schema({
email: {
type: String,
unique: true,
required: true
},
username: {
type: String,
required: true
}
});
module.exports = mongoose.model("User", UserSchema);
- Example Controller
// this user model can be changed
const user = require("../models/user");
// Controller name can be changed
const userController = {
// body of controller goese here
// create methods in here that you need to create
};
module.exports = userController;
- Example Route
// impoert express
const express = require('express');
// import Controller
const userController = require('../controllers/userController');
const router = express.Router();
// All routes goes here
module.exports = router;
Notes
- The default property is only added if specified; otherwise, it’s omitted.
- Avoids redundant model, controller and route creation by confirming overwrites for existing.
- Ensure
mongoose
is installed in your project to use the generated models. - More fuctions will be add in Future Releases.
Releases
v1.0.0 30 October 2024
- inital release
- Adding only Model
v2.0.0 04 November 2024
- Adding Controllers
- fixing bugs on model
v3.0.0 07 November 2024
- Adding Routes
- fixing bugs on model and Controllers