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.
Files changed (96) hide show
  1. package/README.md +237 -0
  2. package/bin/index.js +675 -0
  3. package/lib/PackageManagerClass.js +185 -0
  4. package/package.json +55 -0
  5. package/templates/assets/fastapi.svg +1 -0
  6. package/templates/assets/flask.svg +1 -0
  7. package/templates/assets/mongodb.svg +1 -0
  8. package/templates/assets/mysql.svg +1 -0
  9. package/templates/assets/nodejs.svg +1 -0
  10. package/templates/assets/postgresql.svg +1 -0
  11. package/templates/backend/FASTAPI/MONGODB/.env +1 -0
  12. package/templates/backend/FASTAPI/MONGODB/config.py +26 -0
  13. package/templates/backend/FASTAPI/MONGODB/main.py +32 -0
  14. package/templates/backend/FASTAPI/MONGODB/models.py +56 -0
  15. package/templates/backend/FASTAPI/MONGODB/requirements.txt +6 -0
  16. package/templates/backend/FASTAPI/MONGODB/routes.py +189 -0
  17. package/templates/backend/FASTAPI/MONGODB/schemas.py +31 -0
  18. package/templates/backend/FASTAPI/MYSQL/.env +5 -0
  19. package/templates/backend/FASTAPI/MYSQL/config.py +29 -0
  20. package/templates/backend/FASTAPI/MYSQL/main.py +32 -0
  21. package/templates/backend/FASTAPI/MYSQL/models.py +31 -0
  22. package/templates/backend/FASTAPI/MYSQL/requirements.txt +6 -0
  23. package/templates/backend/FASTAPI/MYSQL/routes.py +180 -0
  24. package/templates/backend/FASTAPI/MYSQL/schemas.py +36 -0
  25. package/templates/backend/FASTAPI/POSTGRESQL/.env +5 -0
  26. package/templates/backend/FASTAPI/POSTGRESQL/config.py +29 -0
  27. package/templates/backend/FASTAPI/POSTGRESQL/main.py +32 -0
  28. package/templates/backend/FASTAPI/POSTGRESQL/models.py +31 -0
  29. package/templates/backend/FASTAPI/POSTGRESQL/requirements.txt +6 -0
  30. package/templates/backend/FASTAPI/POSTGRESQL/routes.py +180 -0
  31. package/templates/backend/FASTAPI/POSTGRESQL/schemas.py +36 -0
  32. package/templates/backend/FLASK/MONGODB/.env +6 -0
  33. package/templates/backend/FLASK/MONGODB/config.py +27 -0
  34. package/templates/backend/FLASK/MONGODB/main.py +5 -0
  35. package/templates/backend/FLASK/MONGODB/models.py +16 -0
  36. package/templates/backend/FLASK/MONGODB/requirements.txt +6 -0
  37. package/templates/backend/FLASK/MONGODB/routes.py +137 -0
  38. package/templates/backend/FLASK/MYSQL/.env +7 -0
  39. package/templates/backend/FLASK/MYSQL/config.py +24 -0
  40. package/templates/backend/FLASK/MYSQL/main.py +8 -0
  41. package/templates/backend/FLASK/MYSQL/models.py +26 -0
  42. package/templates/backend/FLASK/MYSQL/requirements.txt +6 -0
  43. package/templates/backend/FLASK/MYSQL/routes.py +135 -0
  44. package/templates/backend/FLASK/POSTGRESQL/.env +5 -0
  45. package/templates/backend/FLASK/POSTGRESQL/config.py +24 -0
  46. package/templates/backend/FLASK/POSTGRESQL/main.py +7 -0
  47. package/templates/backend/FLASK/POSTGRESQL/models.py +26 -0
  48. package/templates/backend/FLASK/POSTGRESQL/requirements.txt +6 -0
  49. package/templates/backend/FLASK/POSTGRESQL/routes.py +134 -0
  50. package/templates/backend/NODEJS/MONGODB/config/dbConn.js +11 -0
  51. package/templates/backend/NODEJS/MONGODB/controllers/noteController.js +79 -0
  52. package/templates/backend/NODEJS/MONGODB/controllers/userController.js +79 -0
  53. package/templates/backend/NODEJS/MONGODB/index.js +39 -0
  54. package/templates/backend/NODEJS/MONGODB/models/noteModel.js +17 -0
  55. package/templates/backend/NODEJS/MONGODB/models/userModel.js +17 -0
  56. package/templates/backend/NODEJS/MYSQL/config/dbConn.js +20 -0
  57. package/templates/backend/NODEJS/MYSQL/controllers/noteController.js +97 -0
  58. package/templates/backend/NODEJS/MYSQL/controllers/userController.js +98 -0
  59. package/templates/backend/NODEJS/MYSQL/index.js +39 -0
  60. package/templates/backend/NODEJS/MYSQL/models.txt +3 -0
  61. package/templates/backend/NODEJS/POSTGRESQL/config/dbConn.js +28 -0
  62. package/templates/backend/NODEJS/POSTGRESQL/controllers/noteController.js +91 -0
  63. package/templates/backend/NODEJS/POSTGRESQL/controllers/userController.js +92 -0
  64. package/templates/backend/NODEJS/POSTGRESQL/index.js +39 -0
  65. package/templates/backend/NODEJS/POSTGRESQL/models.txt +3 -0
  66. package/templates/backend/NODEJS/common/middleware/upstash.js +12 -0
  67. package/templates/backend/NODEJS/common/routes/noteRoutes.js +22 -0
  68. package/templates/backend/NODEJS/common/routes/userRoutes.js +22 -0
  69. package/templates/frontend/PREACT/src/app.jsx +103 -0
  70. package/templates/frontend/PREACT/vite.config.js +8 -0
  71. package/templates/frontend/PREACT-TS/src/app.tsx +112 -0
  72. package/templates/frontend/PREACT-TS/vite.config.ts +8 -0
  73. package/templates/frontend/REACT/src/App.css +27 -0
  74. package/templates/frontend/REACT/src/App.jsx +105 -0
  75. package/templates/frontend/REACT/vite.config.js +8 -0
  76. package/templates/frontend/REACT-SWC/src/App.css +27 -0
  77. package/templates/frontend/REACT-SWC/src/App.jsx +105 -0
  78. package/templates/frontend/REACT-SWC/vite.config.js +8 -0
  79. package/templates/frontend/REACT-SWC-TS/src/App.css +27 -0
  80. package/templates/frontend/REACT-SWC-TS/src/App.tsx +114 -0
  81. package/templates/frontend/REACT-SWC-TS/vite.config.ts +8 -0
  82. package/templates/frontend/REACT-TS/src/App.css +27 -0
  83. package/templates/frontend/REACT-TS/src/App.tsx +114 -0
  84. package/templates/frontend/REACT-TS/vite.config.ts +8 -0
  85. package/templates/frontend/SOLID/src/App.jsx +104 -0
  86. package/templates/frontend/SOLID/vite.config.js +7 -0
  87. package/templates/frontend/SOLID-TS/src/App.tsx +116 -0
  88. package/templates/frontend/SOLID-TS/vite.config.ts +7 -0
  89. package/templates/frontend/SVELTE/src/App.svelte +104 -0
  90. package/templates/frontend/SVELTE/vite.config.js +8 -0
  91. package/templates/frontend/SVELTE-TS/src/App.svelte +116 -0
  92. package/templates/frontend/SVELTE-TS/vite.config.ts +8 -0
  93. package/templates/frontend/VUE/src/App.vue +96 -0
  94. package/templates/frontend/VUE/vite.config.js +8 -0
  95. package/templates/frontend/VUE-TS/src/App.vue +112 -0
  96. 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>