restquick v1.0.5
RestQuick
RestQuick is a CLI tool to quickly generate REST API starter templates for various frameworks, including Node.js and Django. It simplifies project scaffolding, allowing developers to start building APIs without wasting time setting up the base structure and include jwt authentication.
β¨ Features
- Multiple Frameworks Supported:
- Hono REST API (TypeScript)
- Encore TS (TypeScript)
- Express.js (TypeScript)
- NestJS (TypeScript)
- Django REST Framework
- Interactive Command-Line Interface using Inquirer.js.
- Project Name Validation: Prevents overwriting existing directories.
- Scaffold Projects Quickly with pre-configured setups.
π Installation
npm install -g restquick
This will make restquick
available globally on your system.
π οΈ Usage
Initialize a New Project
Run the following command to start generating a project:
restquick init
instanly generate using npx / pnpx
npx restquick init
pnpx restquick init
Follow the prompts to: 1. Select your desired template. 2. Enter the name of your project.
Example Workflow
- Prompt 1: Choose a Template
Prompt 2: Enter Project Name
If a folder with the entered name already exists, the CLI will prompt you to re-enter the name.Output:
- The selected template is cloned into the specified directory.
- Instructions for installing dependencies and starting development are displayed.
Commands
init
Initialize a new project from a predefined template.
npx restquick init
Options
- No options are currently available. The CLI is fully interactive.
π Templates Available
Framework | Language | Repository |
---|---|---|
Hono REST API | TypeScript | hono-jwt-template |
Encore TS | TypeScript | encore-ts-auth |
Express.js | TypeScript | typeExpress-jwt-template |
NestJS | TypeScript | nest-jwt-template |
Django REST Framework | Python | django-rest-template |
π Project Structure (Example)
When you clone a template, the directory structure looks like this (e.g., Express.js template):
project-name/
βββ src/
β βββ module/
βββauth/
βββcontroller.ts
βββservice.ts
β βββ utils/
βββ types/
βββ middlewares/
βββ routers.ts
βββ index.ts
βββ package.json
βββ tsconfig.json
βββ README.md
βοΈ Requirements
- Node.js (v14 or higher)
- npm (v6 or higher)
π Links
- GitHub Repository: RestQuick
- Templates Source:
π¨βπ» Contributing
- Fork the repository.
- Create a new branch for your feature (
git checkout -b feature-name
). - Commit changes (
git commit -m 'Add some feature'
). - Push to the branch (
git push origin feature-name
). - Open a pull request.
π‘οΈ License
This project is licensed under the MIT License.
π¬ Feedback
If you encounter any issues or have suggestions, please open an issue or contact me at denisetiya009@gmail.com.
Made with β€οΈ by Deni Setiya.