Here’s a refined documentation for your fullstack-app-setup
CLI tool:
Fullstack App Setup is a CLI tool designed to automate the creation of a full-stack project with a React (client) and a Node.js + TypeScript (server) setup. It simplifies the initial setup of a full-stack application by scaffolding both the client and server directories with necessary dependencies, folder structures, and configuration files.
- Automated Project Creation: Quickly set up a full-stack project with just one command.
- React Client Setup: Includes TypeScript and essential configurations for the React client.
- Node.js Server Setup: Configured with TypeScript and includes commonly used packages.
- Pre-installed Dependencies: Comes with commonly used libraries like Express, Mongoose, Redux, and Axios.
-
Basic Configuration Files: Automatically sets up
tsconfig.json
,.env
, and folder structures for both client and server.
To install the fullstack-app-setup
package globally, run the following command:
npm install -g fullstack-app-setup
Once installed, you can create a new full-stack project by using the command:
create-fullstack-app <folder-name>
Replace <folder-name>
with the desired name for your project directory. This command will create a new folder with the specified name and set up both the React client and Node.js server within it.
The tool sets up the following folder structure:
<folder-name>
├── client
│ ├── public
│ ├── src
│ │ ├── assets
│ │ ├── components
│ │ ├── hooks
│ │ ├── pages
│ │ ├── services
│ │ ├── store
│ │ ├── App.tsx
│ │ ├── index.tsx
│ │ └── ...
│ ├── .env
│ ├── tsconfig.json
│ └── package.json
└── server
├── src
│ ├── controllers
│ ├── models
│ ├── routes
│ ├── middleware
│ ├── app.ts
│ └── server.ts
├── .env
├── tsconfig.json
└── package.json
-
React Client:
-
TypeScript: Configured with
tsconfig.json
. - Dependencies: Includes React, Redux, Axios, etc.
-
TypeScript: Configured with
-
Node.js Server:
-
TypeScript: Configured with
tsconfig.json
. - Dependencies: Includes Express, Mongoose, etc.
-
TypeScript: Configured with
Contributions are welcome! If you have any ideas or improvements, please open an issue or submit a pull request on the GitHub repository.
This project is licensed under the MIT License. See the LICENSE file for details.
Feel free to adjust any sections as needed!