create-autostack 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +237 -0
- package/bin/index.js +675 -0
- package/lib/PackageManagerClass.js +185 -0
- package/package.json +55 -0
- package/templates/assets/fastapi.svg +1 -0
- package/templates/assets/flask.svg +1 -0
- package/templates/assets/mongodb.svg +1 -0
- package/templates/assets/mysql.svg +1 -0
- package/templates/assets/nodejs.svg +1 -0
- package/templates/assets/postgresql.svg +1 -0
- package/templates/backend/FASTAPI/MONGODB/.env +1 -0
- package/templates/backend/FASTAPI/MONGODB/config.py +26 -0
- package/templates/backend/FASTAPI/MONGODB/main.py +32 -0
- package/templates/backend/FASTAPI/MONGODB/models.py +56 -0
- package/templates/backend/FASTAPI/MONGODB/requirements.txt +6 -0
- package/templates/backend/FASTAPI/MONGODB/routes.py +189 -0
- package/templates/backend/FASTAPI/MONGODB/schemas.py +31 -0
- package/templates/backend/FASTAPI/MYSQL/.env +5 -0
- package/templates/backend/FASTAPI/MYSQL/config.py +29 -0
- package/templates/backend/FASTAPI/MYSQL/main.py +32 -0
- package/templates/backend/FASTAPI/MYSQL/models.py +31 -0
- package/templates/backend/FASTAPI/MYSQL/requirements.txt +6 -0
- package/templates/backend/FASTAPI/MYSQL/routes.py +180 -0
- package/templates/backend/FASTAPI/MYSQL/schemas.py +36 -0
- package/templates/backend/FASTAPI/POSTGRESQL/.env +5 -0
- package/templates/backend/FASTAPI/POSTGRESQL/config.py +29 -0
- package/templates/backend/FASTAPI/POSTGRESQL/main.py +32 -0
- package/templates/backend/FASTAPI/POSTGRESQL/models.py +31 -0
- package/templates/backend/FASTAPI/POSTGRESQL/requirements.txt +6 -0
- package/templates/backend/FASTAPI/POSTGRESQL/routes.py +180 -0
- package/templates/backend/FASTAPI/POSTGRESQL/schemas.py +36 -0
- package/templates/backend/FLASK/MONGODB/.env +6 -0
- package/templates/backend/FLASK/MONGODB/config.py +27 -0
- package/templates/backend/FLASK/MONGODB/main.py +5 -0
- package/templates/backend/FLASK/MONGODB/models.py +16 -0
- package/templates/backend/FLASK/MONGODB/requirements.txt +6 -0
- package/templates/backend/FLASK/MONGODB/routes.py +137 -0
- package/templates/backend/FLASK/MYSQL/.env +7 -0
- package/templates/backend/FLASK/MYSQL/config.py +24 -0
- package/templates/backend/FLASK/MYSQL/main.py +8 -0
- package/templates/backend/FLASK/MYSQL/models.py +26 -0
- package/templates/backend/FLASK/MYSQL/requirements.txt +6 -0
- package/templates/backend/FLASK/MYSQL/routes.py +135 -0
- package/templates/backend/FLASK/POSTGRESQL/.env +5 -0
- package/templates/backend/FLASK/POSTGRESQL/config.py +24 -0
- package/templates/backend/FLASK/POSTGRESQL/main.py +7 -0
- package/templates/backend/FLASK/POSTGRESQL/models.py +26 -0
- package/templates/backend/FLASK/POSTGRESQL/requirements.txt +6 -0
- package/templates/backend/FLASK/POSTGRESQL/routes.py +134 -0
- package/templates/backend/NODEJS/MONGODB/config/dbConn.js +11 -0
- package/templates/backend/NODEJS/MONGODB/controllers/noteController.js +79 -0
- package/templates/backend/NODEJS/MONGODB/controllers/userController.js +79 -0
- package/templates/backend/NODEJS/MONGODB/index.js +39 -0
- package/templates/backend/NODEJS/MONGODB/models/noteModel.js +17 -0
- package/templates/backend/NODEJS/MONGODB/models/userModel.js +17 -0
- package/templates/backend/NODEJS/MYSQL/config/dbConn.js +20 -0
- package/templates/backend/NODEJS/MYSQL/controllers/noteController.js +97 -0
- package/templates/backend/NODEJS/MYSQL/controllers/userController.js +98 -0
- package/templates/backend/NODEJS/MYSQL/index.js +39 -0
- package/templates/backend/NODEJS/MYSQL/models.txt +3 -0
- package/templates/backend/NODEJS/POSTGRESQL/config/dbConn.js +28 -0
- package/templates/backend/NODEJS/POSTGRESQL/controllers/noteController.js +91 -0
- package/templates/backend/NODEJS/POSTGRESQL/controllers/userController.js +92 -0
- package/templates/backend/NODEJS/POSTGRESQL/index.js +39 -0
- package/templates/backend/NODEJS/POSTGRESQL/models.txt +3 -0
- package/templates/backend/NODEJS/common/middleware/upstash.js +12 -0
- package/templates/backend/NODEJS/common/routes/noteRoutes.js +22 -0
- package/templates/backend/NODEJS/common/routes/userRoutes.js +22 -0
- package/templates/frontend/PREACT/src/app.jsx +103 -0
- package/templates/frontend/PREACT/vite.config.js +8 -0
- package/templates/frontend/PREACT-TS/src/app.tsx +112 -0
- package/templates/frontend/PREACT-TS/vite.config.ts +8 -0
- package/templates/frontend/REACT/src/App.css +27 -0
- package/templates/frontend/REACT/src/App.jsx +105 -0
- package/templates/frontend/REACT/vite.config.js +8 -0
- package/templates/frontend/REACT-SWC/src/App.css +27 -0
- package/templates/frontend/REACT-SWC/src/App.jsx +105 -0
- package/templates/frontend/REACT-SWC/vite.config.js +8 -0
- package/templates/frontend/REACT-SWC-TS/src/App.css +27 -0
- package/templates/frontend/REACT-SWC-TS/src/App.tsx +114 -0
- package/templates/frontend/REACT-SWC-TS/vite.config.ts +8 -0
- package/templates/frontend/REACT-TS/src/App.css +27 -0
- package/templates/frontend/REACT-TS/src/App.tsx +114 -0
- package/templates/frontend/REACT-TS/vite.config.ts +8 -0
- package/templates/frontend/SOLID/src/App.jsx +104 -0
- package/templates/frontend/SOLID/vite.config.js +7 -0
- package/templates/frontend/SOLID-TS/src/App.tsx +116 -0
- package/templates/frontend/SOLID-TS/vite.config.ts +7 -0
- package/templates/frontend/SVELTE/src/App.svelte +104 -0
- package/templates/frontend/SVELTE/vite.config.js +8 -0
- package/templates/frontend/SVELTE-TS/src/App.svelte +116 -0
- package/templates/frontend/SVELTE-TS/vite.config.ts +8 -0
- package/templates/frontend/VUE/src/App.vue +96 -0
- package/templates/frontend/VUE/vite.config.js +8 -0
- package/templates/frontend/VUE-TS/src/App.vue +112 -0
- package/templates/frontend/VUE-TS/vite.config.ts +8 -0
package/README.md
ADDED
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
# AutoStack ⚡
|
|
2
|
+
|
|
3
|
+
<div align="center">
|
|
4
|
+
|
|
5
|
+
**The fastest way to scaffold production-ready full-stack applications**
|
|
6
|
+
|
|
7
|
+
Scaffold complete full-stack applications with frontend, backend, and database in under 60 seconds.
|
|
8
|
+
|
|
9
|
+
[Get Started](#-quick-start) • [Features](#-features) • [Documentation](#-documentation) • [Contributing](#-contributing)
|
|
10
|
+
|
|
11
|
+
</div>
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## 🚀 Quick Start
|
|
16
|
+
|
|
17
|
+
Get your full-stack application up and running with a single command:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
# Using npm (npm 7+)
|
|
21
|
+
npm create autostack my-app
|
|
22
|
+
|
|
23
|
+
# Using npx
|
|
24
|
+
npx create-autostack my-app
|
|
25
|
+
|
|
26
|
+
# Using yarn
|
|
27
|
+
yarn create autostack my-app
|
|
28
|
+
|
|
29
|
+
# Using pnpm
|
|
30
|
+
pnpm create autostack my-app
|
|
31
|
+
|
|
32
|
+
# Using bun
|
|
33
|
+
bun create autostack my-app
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Then follow the interactive prompts to choose your tech stack!
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## ✨ Features
|
|
41
|
+
|
|
42
|
+
- ⚡ **Lightning Fast** - Get your full-stack app running in under 60 seconds
|
|
43
|
+
- 🎯 **Production Ready** - Best practices and optimized configurations out of the box
|
|
44
|
+
- 🔧 **Fully Configured** - Frontend, backend, and database all connected automatically
|
|
45
|
+
- 📦 **Package Manager Agnostic** - Works with npm, yarn, pnpm, bun, or pip
|
|
46
|
+
- 🎨 **Multiple Frameworks** - Choose from popular frontend and backend frameworks
|
|
47
|
+
- 🗄️ **Database Ready** - MongoDB, MySQL, or PostgreSQL with working model structures
|
|
48
|
+
- 💻 **TypeScript Support** - Optional TypeScript for frontend frameworks
|
|
49
|
+
- 🎨 **Tailwind CSS** - Pre-configured styling with Tailwind CSS
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## 🛠️ Supported Technologies
|
|
54
|
+
|
|
55
|
+
### Frontend Frameworks
|
|
56
|
+
- ⚛️ React (JS/TS)
|
|
57
|
+
- 🎯 React with SWC (JS/TS)
|
|
58
|
+
- 🟢 Vue (JS/TS)
|
|
59
|
+
- ⚡ Preact (JS/TS)
|
|
60
|
+
- 🔥 Svelte (JS/TS)
|
|
61
|
+
- 🔷 Solid (JS/TS)
|
|
62
|
+
|
|
63
|
+
### Backend Frameworks
|
|
64
|
+
- 🟢 Node.js (Express)
|
|
65
|
+
- 🐍 Flask
|
|
66
|
+
- ⚡ FastAPI
|
|
67
|
+
|
|
68
|
+
### Databases
|
|
69
|
+
- 🍃 MongoDB
|
|
70
|
+
- 🐬 MySQL
|
|
71
|
+
- 🐘 PostgreSQL
|
|
72
|
+
|
|
73
|
+
### Package Managers
|
|
74
|
+
- 📦 npm
|
|
75
|
+
- 🧶 yarn
|
|
76
|
+
- 📦 pnpm
|
|
77
|
+
- 🥟 bun
|
|
78
|
+
- 🐍 pip
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## 📖 Documentation
|
|
83
|
+
|
|
84
|
+
### Installation
|
|
85
|
+
|
|
86
|
+
AutoStack is designed to be run directly without installation:
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
npm create autostack my-app
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
This will:
|
|
93
|
+
1. Prompt you to select your frontend framework
|
|
94
|
+
2. Ask you to choose your backend framework
|
|
95
|
+
3. Let you pick your database
|
|
96
|
+
4. Generate a fully-configured project structure
|
|
97
|
+
5. Install all dependencies
|
|
98
|
+
6. Set up API routes and database connections
|
|
99
|
+
|
|
100
|
+
### Project Structure
|
|
101
|
+
|
|
102
|
+
After scaffolding, your project will have the following structure:
|
|
103
|
+
|
|
104
|
+
```
|
|
105
|
+
my-app/
|
|
106
|
+
├── frontend/
|
|
107
|
+
│ ├── src/
|
|
108
|
+
│ ├── public/
|
|
109
|
+
│ ├── package.json
|
|
110
|
+
│ └── vite.config.js
|
|
111
|
+
├── backend/
|
|
112
|
+
│ ├── src/
|
|
113
|
+
│ │ ├── models/
|
|
114
|
+
│ │ ├── routes/
|
|
115
|
+
│ │ ├── controllers/
|
|
116
|
+
│ │ ├── config/
|
|
117
|
+
│ │ └── index.js
|
|
118
|
+
│ ├── .env
|
|
119
|
+
│ ├── package.json
|
|
120
|
+
│ └── node_modules/
|
|
121
|
+
├── README.md
|
|
122
|
+
└── .gitignore
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### Getting Started with Your New App
|
|
126
|
+
|
|
127
|
+
1. **Navigate to your project:**
|
|
128
|
+
```bash
|
|
129
|
+
cd my-app
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
2. **Set up environment variables (if not configured during setup):**
|
|
133
|
+
```bash
|
|
134
|
+
# Edit backend/.env with your database connection details
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
3. **Start the development servers in separate terminals:**
|
|
138
|
+
```bash
|
|
139
|
+
# Terminal 1 - Start backend
|
|
140
|
+
cd backend
|
|
141
|
+
npm run dev
|
|
142
|
+
|
|
143
|
+
# Terminal 2 - Start frontend
|
|
144
|
+
cd frontend
|
|
145
|
+
npm run dev
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
4. **Open your browser:**
|
|
149
|
+
```
|
|
150
|
+
Frontend: http://localhost:5173 (or specified port)
|
|
151
|
+
Backend: http://localhost:5000 (or specified port)
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
## 🎯 Example Usage
|
|
157
|
+
|
|
158
|
+
```bash
|
|
159
|
+
# Create a new app
|
|
160
|
+
npm create autostack my-awesome-app
|
|
161
|
+
|
|
162
|
+
# Follow the prompts:
|
|
163
|
+
? Select frontend framework: React
|
|
164
|
+
? Select backend framework: Node.js
|
|
165
|
+
? Select database: MongoDB
|
|
166
|
+
? Install dependencies? Yes
|
|
167
|
+
|
|
168
|
+
# Navigate to your project
|
|
169
|
+
cd my-awesome-app
|
|
170
|
+
|
|
171
|
+
# Start developing!
|
|
172
|
+
cd backend && npm run dev
|
|
173
|
+
cd frontend && npm run dev
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
|
|
178
|
+
## 🔮 Roadmap
|
|
179
|
+
|
|
180
|
+
I will working to make AutoStack better! Here's what's coming:
|
|
181
|
+
|
|
182
|
+
### Coming Soon
|
|
183
|
+
- 🎯 Django support
|
|
184
|
+
- 🎯 NestJS support
|
|
185
|
+
- 🎯 Next.js (via create-t3-app)
|
|
186
|
+
- 🎯 Laravel support
|
|
187
|
+
- 🎯 Additional database options (SQLite, Redis)
|
|
188
|
+
- 🎯 Authentication templates
|
|
189
|
+
- 🎯 GraphQL support
|
|
190
|
+
|
|
191
|
+
There' s a lot more I can do that I haven't yet implemented and with more support and more people, I am sure that this project could become insanely popular and a core part of any full-stack project!
|
|
192
|
+
|
|
193
|
+
### Future Possibilities
|
|
194
|
+
The sky's the limit! I envision AutoStack supporting every major framework and helping developers start projects in any tech stack imaginable.
|
|
195
|
+
|
|
196
|
+
---
|
|
197
|
+
|
|
198
|
+
## 🤝 Contributing
|
|
199
|
+
|
|
200
|
+
I'd love your help to make AutoStack even better! Here's how you can contribute:
|
|
201
|
+
|
|
202
|
+
### Ways to Contribute
|
|
203
|
+
- 🐛 Report bugs by opening an issue
|
|
204
|
+
- 💡 Suggest new features or frameworks
|
|
205
|
+
- 📝 Create documentation
|
|
206
|
+
- 🔧 Submit pull requests
|
|
207
|
+
- ⭐ Star this repository
|
|
208
|
+
- 📢 Spread the word!
|
|
209
|
+
|
|
210
|
+
## 📄 License
|
|
211
|
+
|
|
212
|
+
MIT © Fahad Rasheed
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
|
|
216
|
+
## 💬 Support
|
|
217
|
+
|
|
218
|
+
- 📫 [Open an issue](https://github.com/FahadR004/AutoStack/issues)
|
|
219
|
+
- 💬 [Discussions](https://github.com/FahadR004/AutoStack/discussions)
|
|
220
|
+
|
|
221
|
+
---
|
|
222
|
+
|
|
223
|
+
## 🙏 Acknowledgments
|
|
224
|
+
|
|
225
|
+
Built with ❤️ for developers who ship fast.
|
|
226
|
+
|
|
227
|
+
Special thanks to all our contributors and the amazing open-source community!
|
|
228
|
+
|
|
229
|
+
---
|
|
230
|
+
|
|
231
|
+
<div align="center">
|
|
232
|
+
|
|
233
|
+
**[⬆ back to top](#autostack-)**
|
|
234
|
+
|
|
235
|
+
Made by Fahad Rasheed
|
|
236
|
+
|
|
237
|
+
</div>
|