The "final-api-cli" is a powerful command-line interface tool designed to simplify and accelerate the development of Node.js REST APIs. With this CLI, you can automatically generate a fully structured, best-practices-compliant REST API based on user inputs. The generated API comes pre-configured with essential features such as routes, controllers, models, and Docker support, making it ideal for both small-scale and enterprise-level applications.
Explore the Documentation »
View Source
.
Website
·
Report Bug
·
Request Feature
-
Automatic Code Generation: Instantly create a fully functional REST API with modular architecture.
-
Supports Multiple Databases: Compatible with SQL and NoSQL databases. likes MySQL, PostgreSQL, MongoDB, and more.
-
Comprehensive Testing: Pre-configured with testing frameworks to ensure code quality.
-
Docker Integration: Out-of-the-box Docker support for easy containerization and deployment.
-
Optimized Codebase: Follows industry standards and best practices for maintainable and scalable code.
-
Environment Configuration: .env files for environment-specific settings.
Install final-api-cli
globally using npm:
npm install -g final-api-cli
final-api-cli
offers a variety of commands to help you quickly scaffold and manage your API projects:
Displays a list of available commands and their descriptions.
fac -h | fac --help
Displays the current version of the CLI.
fac -v | fac --version
Creates a new API project.
fac -i [route-name] | fac --init [route-name]
Creates a new API route.
fac -r [route-name] | fac --route [route-name]
Generates a new model.
fac -m [model-name] | fac --model [model-name]
Creates a new controller.
fac -c [controller-name] | fac --controller [controller-name]
Generates a new API endpoint with route, model, and controller.
fac -e [endpoint-name] | fac --endpoint [endpoint-name]
The REST API generated by Final API CLI is designed to be robust, scalable, and easy to maintain. It follows best practices for RESTful architecture, provides extensive support for Docker containerization, environment variable configuration, process management, and comprehensive testing, including unit, integration, and end-to-end tests. Below is a breakdown of some key endpoints provided by the generated API:
- GET
/api/health
- Check the health status of the API.
- POST
/api/upload
- Upload a file to the server. - GET
/api/download/:file-name
- Download a file from the server.
- GET
/api/users
- Retrieve a list of all users. - GET
/api/users/:id
- Retrieve details of a specific user. - POST
/api/users
- Create a new user. - PUT
/api/users/:id
- Update an existing user's information. - DELETE
/api/users/:id
- Remove a user from the system.
Comprehensive documentation is available for all commands and configurations. You can also refer to the official documentation for more detailed information.
Check out the source code on GitHub.
Contributions are welcome! Feel free to fork this project, submit issues, and create pull requests. Please refer to the CONTRIBUTING file for more details on our contribution guidelines.
Distributed under the MIT License See LICENSE for more information.
If you encounter any issues or have questions, feel free to open an issue on the GitHub repository. Your feedback is valuable and helps us improve the tool.
Made with ❤️ by Hariharan Duraisamy