Mohammed Foud commited on
Commit
e037915
·
1 Parent(s): c353180

Add application file

Browse files
Files changed (5) hide show
  1. .cursorignore +12 -0
  2. .cursorrules +379 -0
  3. .gitignore +23 -0
  4. app.py +1 -1
  5. tree.sh +15 -0
.cursorignore ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ node_modules
2
+ trash
3
+ build
4
+ etc
5
+ pnpm-lock.yaml
6
+ dist
7
+ etc
8
+ .gitignore
9
+ # .cursorignore
10
+ .vscode
11
+ .env
12
+ .env.local
.cursorrules ADDED
@@ -0,0 +1,379 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ You are a senior front-end developer and expert in Vue 3, JavaScript, TypeScript, TailwindCSS, HTML, and CSS Backend: Node.js with Express.js . You are thoughtful, provide accurate answers, and are a smart thinker. You carefully provide accurate, realistic, and thoughtful answers, and you are a genius at thinking.
2
+
3
+ Follow the user requirements carefully and to the letter. Think step by step first - describe your plan for what you want to build in pseudo-code, written in great detail. Confirm, then write the code!
4
+
5
+ Always write code that is correct, best practices, DRY (Don't Repeat Yourself), bug-free, fully functional and working, and that complies with the rules listed below in # Code Implementation Guidelines.
6
+
7
+ Focus on code that is easy to read, rather than highly functional. Implement all required functionality completely. Don't leave any tasks, placeholders, or missing parts. Make sure your code is complete! Check it's completely complete. Include all required imports, and make sure you label key components correctly.
8
+
9
+ Be concise. Minimize any other prose. If you think there may not be a right answer, say so. If you don't know the answer, say so, instead of guessing.
10
+
11
+ ## Coding Environment
12
+
13
+ The user asks questions about the following markup languages:
14
+ - Vue 3
15
+ - Naïve UI (Vue 3 Component Library)
16
+ - TypeScript
17
+ - TailwindCSS
18
+ - HTML
19
+ - CSS
20
+
21
+ Backend: Node.js with Express.js
22
+
23
+ ## Development Guidelines
24
+
25
+ - Use unplugin-auto-import to automatically import APIs instead of manually importing them in code.
26
+ - Pre-made components in the components folder should be utilized whenever possible.
27
+ - Create shared components whenever appropriate to reduce redundancy.
28
+ - Use Pinia in stores/ to manage application state.
29
+ - Components should include isLoading and isError states when necessary to handle async operations.
30
+
31
+ ## Code Implementation Guidelines
32
+
33
+ Follow these rules when writing code:
34
+ - Use early returns whenever possible to improve readability.
35
+ - Always use TailwindCSS utility classes for styling; avoid traditional CSS stylesheets.
36
+ - Follow the Vue 3 Composition API.
37
+ - Structure components and logic clearly to maintain clean, maintainable code.
38
+
39
+
40
+ ├── backend
41
+ │   ├── db.sql
42
+ │   ├── Dockerfile
43
+ │   ├── d.sh
44
+ │   ├── package.json
45
+ │   ├── pnpm-lock.yaml
46
+ │   ├── README.md
47
+ │   ├── run.sh
48
+ │   ├── src
49
+ │   │   ├── config.ts
50
+ │   │   ├── controllers.ts
51
+ │   │   ├── db
52
+ │   │   │   ├── supabaseHelper.ts
53
+ │   │   │   └── supabase.ts
54
+ │   │   ├── index.ts
55
+ │   │   ├── models.ts
56
+ │   │   ├── routes.ts
57
+ │   │   ├── services.ts
58
+ │   │   ├── typings
59
+ │   │   │   ├── api.d.ts
60
+ │   │   │   ├── env.d.ts
61
+ │   │   │   └── global.d.ts
62
+ │   │   └── utils.ts
63
+ │   ├── tsconfig.json
64
+ │   └── tsup.config.ts
65
+ ├── Dockerfile
66
+ ├── d.sh
67
+ ├── frontend
68
+ │   ├── auto-imports.d.ts
69
+ │   ├── components.d.ts
70
+ │   ├── d.sh
71
+ │   ├── d.sql
72
+ │   ├── etc
73
+ │   │   ├── db
74
+ │   │   │   ├── config.py
75
+ │   │   │   ├── correctsql.sql
76
+ │   │   │   ├── final.sql
77
+ │   │   │   ├── g.py
78
+ │   │   │   ├── output.sql
79
+ │   │   │   └── sql.md
80
+ │   │   ├── email_confirm_link.html
81
+ │   │   ├── email_token_code.html
82
+ │   │   ├── tools
83
+ │   │   │   ├── en.ts
84
+ │   │   │   └── t_key_extra.py
85
+ │   │   └── t.sql
86
+ │   ├── index.html
87
+ │   ├── package.json
88
+ │   ├── pnpm-lock.yaml
89
+ │   ├── postcss.config.js
90
+ │   ├── public
91
+ │   │   ├── logo.png
92
+ │   │   ├── pwa-192x192.png
93
+ │   │   └── pwa-512x512.png
94
+ │   ├── README.md
95
+ │   ├── run.sh
96
+ │   ├── sample.txt
97
+ │   ├── src
98
+ │   │   ├── api
99
+ │   │   │   ├── app
100
+ │   │   │   │   └── index.ts
101
+ │   │   │   ├── chat
102
+ │   │   │   │   ├── image.ts
103
+ │   │   │   │   ├── index.ts
104
+ │   │   │   │   ├── models.ts
105
+ │   │   │   │   └── text.ts
106
+ │   │   │   └── index.ts
107
+ │   │   ├── App.vue
108
+ │   │   ├── assets
109
+ │   │   │   ├── aiChat.avif
110
+ │   │   │   ├── avatar.jpg
111
+ │   │   │   ├── boy.png
112
+ │   │   │   ├── errorImage.png
113
+ │   │   │   ├── gardener.png
114
+ │   │   │   ├── Google.png
115
+ │   │   │   ├── hero.svg
116
+ │   │   │   ├── imageGen.png
117
+ │   │   │   ├── logo_ai_chat.png
118
+ │   │   │   ├── logo.png
119
+ │   │   │   ├── Meta.png
120
+ │   │   │   ├── Microsoft.png
121
+ │   │   │   ├── noAds.webp
122
+ │   │   │   ├── OpenAI.png
123
+ │   │   │   ├── recommend.json
124
+ │   │   │   ├── supportIcon.png
125
+ │   │   │   └── textGen.png
126
+ │   │   ├── components
127
+ │   │   │   ├── common
128
+ │   │   │   │   ├── BaseActionForm
129
+ │   │   │   │   │   └── index.vue
130
+ │   │   │   │   ├── DataTableBase
131
+ │   │   │   │   │   └── index.vue
132
+ │   │   │   │   ├── Footer
133
+ │   │   │   │   │   └── index.vue
134
+ │   │   │   │   ├── FormElements
135
+ │   │   │   │   │   ├── BaseInputNumber.vue
136
+ │   │   │   │   │   ├── BaseInput.vue
137
+ │   │   │   │   │   ├── BaseSelect.vue
138
+ │   │   │   │   │   ├── BaseSwitch.vue
139
+ │   │   │   │   │   └── BaseUpload.vue
140
+ │   │   │   │   ├── HoverButton
141
+ │   │   │   │   │   ├── Button.vue
142
+ │   │   │   │   │   └── index.vue
143
+ │   │   │   │   ├── index.ts
144
+ │   │   │   │   ├── LanguageSelect
145
+ │   │   │   │   │   └── index.vue
146
+ │   │   │   │   ├── LoadingIcon
147
+ │   │   │   │   │   └── index.vue
148
+ │   │   │   │   ├── LogoApp
149
+ │   │   │   │   │   └── index.vue
150
+ │   │   │   │   ├── LogoUser
151
+ │   │   │   │   │   └── index.vue
152
+ │   │   │   │   ├── MainHeader
153
+ │   │   │   │   │   └── index.vue
154
+ │   │   │   │   ├── NaiveProvider
155
+ │   │   │   │   │   └── index.vue
156
+ │   │   │   │   ├── PromptStore
157
+ │   │   │   │   │   └── index.vue
158
+ │   │   │   │   ├── SelectCountry
159
+ │   │   │   │   │   └── index.vue
160
+ │   │   │   │   ├── Setting
161
+ │   │   │   │   │   ├── About.vue
162
+ │   │   │   │   │   ├── Advanced.vue
163
+ │   │   │   │   │   ├── General.vue
164
+ │   │   │   │   │   ├── index.vue
165
+ │   │   │   │   │   └── Profile.vue
166
+ │   │   │   │   ├── SvgIcon
167
+ │   │   │   │   │   └── index.vue
168
+ │   │   │   │   ├── TypeText.vue
169
+ │   │   │   │   └── UserAvatar
170
+ │   │   │   │   └── index.vue
171
+ │   │   │   └── custom
172
+ │   │   │   ├── GithubSite.vue
173
+ │   │   │   ├── index.ts
174
+ │   │   │   └── Profile.vue
175
+ │   │   ├── hooks
176
+ │   │   │   ├── useBasicLayout.ts
177
+ │   │   │   ├── useIconRender.ts
178
+ │   │   │   ├── useLanguage.ts
179
+ │   │   │   └── useTheme.ts
180
+ │   │   ├── icons
181
+ │   │   │   ├── 403.vue
182
+ │   │   │   ├── 404.svg
183
+ │   │   │   └── 500.vue
184
+ │   │   ├── lib
185
+ │   │   │   └── utils.ts
186
+ │   │   ├── locales
187
+ │   │   │   ├── ar-DZ.ts
188
+ │   │   │   ├── en-US.ts
189
+ │   │   │   └── index.ts
190
+ │   │   ├── main.ts
191
+ │   │   ├── plugins
192
+ │   │   │   ├── assets.ts
193
+ │   │   │   ├── index.ts
194
+ │   │   │   └── scrollbarStyle.ts
195
+ │   │   ├── router
196
+ │   │   │   ├── index.ts
197
+ │   │   │   └── permission.ts
198
+ │   │   ├── store
199
+ │   │   │   ├── helper.ts
200
+ │   │   │   ├── index.ts
201
+ │   │   │   └── modules
202
+ │   │   │   ├── accountStore.ts
203
+ │   │   │   ├── admin
204
+ │   │   │   │   └── index.ts
205
+ │   │   │   ├── app
206
+ │   │   │   │   ├── helper.ts
207
+ │   │   │   │   └── index.ts
208
+ │   │   │   ├── auth
209
+ │   │   │   │   ├── helper.ts
210
+ │   │   │   │   └── index.ts
211
+ │   │   │   ├── baseStore.ts
212
+ │   │   │   ├── chat
213
+ │   │   │   │   ├── helper.ts
214
+ │   │   │   │   └── index.ts
215
+ │   │   │   ├── country.ts
216
+ │   │   │   ├── dashboard
217
+ │   │   │   │   └── index.ts
218
+ │   │   │   ├── index.ts
219
+ │   │   │   ├── main.ts
220
+ │   │   │   ├── prompt
221
+ │   │   │   │   ├── helper.ts
222
+ │   │   │   │   └── index.ts
223
+ │   │   │   ├── research
224
+ │   │   │   │   ├── helper.lo.ts
225
+ │   │   │   │   ├── helper.ts
226
+ │   │   │   │   └── index.ts
227
+ │   │   │   ├── settings
228
+ │   │   │   │   ├── helper.ts
229
+ │   │   │   │   └── index.ts
230
+ │   │   │   ├── storeConfigs.ts
231
+ │   │   │   ├── university
232
+ │   │   │   │   ├── helper.ts
233
+ │   │   │   │   └── index.ts
234
+ │   │   │   ├── user
235
+ │   │   │   │   ├── helper.ts
236
+ │   │   │   │   └── index.ts
237
+ │   │   │   ├── users
238
+ │   │   │   │   ├── helper.ts
239
+ │   │   │   │   └── index.ts
240
+ │   │   │   └── util
241
+ │   │   │   └── index.ts
242
+ │   │   ├── styles
243
+ │   │   │   ├── global.less
244
+ │   │   │   └── lib
245
+ │   │   │   ├── github-markdown.less
246
+ │   │   │   ├── highlight.less
247
+ │   │   │   └── tailwind.css
248
+ │   │   ├── typings
249
+ │   │   │   ├── api.d.ts
250
+ │   │   │   ├── chat.d.ts
251
+ │   │   │   ├── env.d.ts
252
+ │   │   │   ├── global.d.ts
253
+ │   │   │   ├── publicApp.d.ts
254
+ │   │   │   ├── research.d.ts
255
+ │   │   │   ├── researchstate.d.ts
256
+ │   │   │   ├── translate.d.ts
257
+ │   │   │   └── user.d.ts
258
+ │   │   ├── utils
259
+ │   │   │   ├── apiHelper.ts
260
+ │   │   │   ├── copy.ts
261
+ │   │   │   ├── db
262
+ │   │   │   │   └── index.ts
263
+ │   │   │   ├── functions
264
+ │   │   │   │   ├── debounce.ts
265
+ │   │   │   │   └── index.ts
266
+ │   │   │   ├── is
267
+ │   │   │   │   └── index.ts
268
+ │   │   │   ├── request
269
+ │   │   │   │   ├── axios.ts
270
+ │   │   │   │   └── index.ts
271
+ │   │   │   ├── storage
272
+ │   │   │   │   ├── index.ts
273
+ │   │   │   │   └── localStorage.ts
274
+ │   │   │   ├── storeUtils.ts
275
+ │   │   │   ├── supabaseHelper.ts
276
+ │   │   │   ├── supabase.ts
277
+ │   │   │   └── tables.ts
278
+ │   │   └── views
279
+ │   │   ├── admin
280
+ │   │   │   ├── blockkeyword
281
+ │   │   │   │   ├── FormView.vue
282
+ │   │   │   │   └── List.vue
283
+ │   │   │   ├── bots
284
+ │   │   │   │   ├── FormView.vue
285
+ │   │   │   │   └── List.vue
286
+ │   │   │   ├── components
287
+ │   │   │   │   └── Header
288
+ │   │   │   │   └── index.vue
289
+ │   │   │   ├── dashboard
290
+ │   │   │   │   ├── index.vue
291
+ │   │   │   │   └── ListBase.vue
292
+ │   │   │   ├── keyword
293
+ │   │   │   │   ├── FormView.vue
294
+ │   │   │   │   └── List.vue
295
+ │   │   │   ├── layout
296
+ │   │   │   │   ├── index.ts
297
+ │   │   │   │   ├── Layout.vue
298
+ │   │   │   │   └── sider
299
+ │   │   │   │   ├── Footer.vue
300
+ │   │   │   │   ├── index.vue
301
+ │   │   │   │   ├── List.vue
302
+ │   │   │   │   └── Tree.vue
303
+ │   │   │   ├── login-account
304
+ │   │   │   │   └── index.vue
305
+ │   │   │   ├── personal-accounts
306
+ │   │   │   │   ├── FormView.vue
307
+ │   │   │   │   └── List.vue
308
+ │   │   │   ├── profile
309
+ │   │   │   │   └── index.vue
310
+ │   │   │   ├── settings
311
+ │   │   │   │   └── index.vue
312
+ │   │   │   ├── settings_app
313
+ │   │   │   │   ├── DashBoarsSettings.vue
314
+ │   │   │   │   ├── EditPrivacyPolicy.vue
315
+ │   │   │   │   ├── EditTermsOfUse.vue
316
+ │   │   │   │   ├── index1.vue
317
+ │   │   │   │   └── index.vue
318
+ │   │   │   ├── tasks
319
+ │   │   │   │   ├── FormView.vue
320
+ │   │   │   │   ├── listtask.vue
321
+ │   │   │   │   ├── List.vue
322
+ │   │   │   │   └── Process.vue
323
+ │   │   │   ├── themes
324
+ │   │   │   │   ├── index.vue
325
+ │   │   │   │   └── ThemeSection.vue
326
+ │   │   │   ├── translation
327
+ │   │   │   │   ├── index.vue
328
+ │   │   │   │   └── TranslationSection.vue
329
+ │   │   │   └── users
330
+ │   │   │   ├── Add.vue
331
+ │   │   │   ├── Card.vue
332
+ │   │   │   ├── components
333
+ │   │   │   │   ├── index.ts
334
+ │   │   │   │   └── Table
335
+ │   │   │   │   ├── FilterTable.vue
336
+ │   │   │   │   └── OptionFilter.vue
337
+ │   │   │   ├── C.vue
338
+ │   │   │   ├── List.vue
339
+ │   │   │   ├── Main.vue
340
+ │   │   │   └── Update.vue
341
+ │   │   ├── auth
342
+ │   │   │   ├── index.ts
343
+ │   │   │   ├── index.vue
344
+ │   │   │   ├── Login.vue
345
+ │   │   │   ├── OTP.vue
346
+ │   │   │   ├── OuthSocial.vue
347
+ │   │   │   ├── PolicyCollection.vue
348
+ │   │   │   ├── PrivacyPolicy.vue
349
+ │   │   │   ├── signOut.vue
350
+ │   │   │   ├── signUpEmailPassword.vue
351
+ │   │   │   ├── signUp.vue
352
+ │   │   │   ├── TermsOfUse.vue
353
+ │   │   │   └── t.vue
354
+ │   │   ├── exception
355
+ │   │   │   ├── 404
356
+ │   │   │   │   └── index.vue
357
+ │   │   │   └── 500
358
+ │   │   │   └── index.vue
359
+ │   │   ├── home
360
+ │   │   │   ├── AnimatedGradientText.vue
361
+ │   │   │   ├── Carousel.vue
362
+ │   │   │   ├── Company.vue
363
+ │   │   │   ├── CustomerReview.vue
364
+ │   │   │   ├── Features.vue
365
+ │   │   │   ├── Hero.vue
366
+ │   │   │   ├── index.vue
367
+ │   │   │   ├── News.vue
368
+ │   │   │   ├── rand.vue
369
+ │   │   │   └── TypeText.vue
370
+ │   │   └── portofile
371
+ │   │   ├── h.vue
372
+ │   │   └── mm.md
373
+ │   ├── tailwind.config.js
374
+ │   ├── tsconfig.json
375
+ │   └── vite.config.ts
376
+ ├── README.md
377
+
378
+
379
+ 91 directories, 252 files
.gitignore ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ### AL ###
2
+ #Template for AL projects for Dynamics 365 Business Central
3
+ #launch.json folder
4
+ .vscode/
5
+ #Cache folder
6
+ .alcache/
7
+ #Symbols folder
8
+ .alpackages/
9
+ #Snapshots folder
10
+ .snapshots/
11
+ #Testing Output folder
12
+ .output/
13
+ #Extension App-file
14
+ *.app
15
+ #Rapid Application Development File
16
+ rad.json
17
+ #Translation Base-file
18
+ *.g.xlf
19
+ #License-file
20
+ *.flf
21
+ #Test results file
22
+ TestResults.xml
23
+ trash
app.py CHANGED
@@ -8,7 +8,7 @@ app.config.from_object(Config)
8
 
9
  # Register blueprints
10
  app.register_blueprint(views_bp)
11
- app.register_blueprint(api_bp, url_prefix='/api')
12
  def create_app():
13
  app = Flask(__name__)
14
  app.config.from_object(Config)
 
8
 
9
  # Register blueprints
10
  app.register_blueprint(views_bp)
11
+ app.register_blueprint(api_bp)
12
  def create_app():
13
  app = Flask(__name__)
14
  app.config.from_object(Config)
tree.sh ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/bin/bash
2
+
3
+ # Directory to generate the tree for (default is the current directory)
4
+ directory="${1:-.}"
5
+
6
+ # Output file (default is output.txt)
7
+ output_file="${2:-output.txt}"
8
+
9
+ # Exclude directories
10
+ excluded_dirs="node_modules|trash|build|dist"
11
+
12
+ # Run the tree command and save output to file, excluding the specified folders
13
+ tree --prune -I "$excluded_dirs" "$directory" > "$output_file"
14
+
15
+ echo "Directory tree saved to $output_file, excluding specified folders."