wad-lab 0.0.0-stage → 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 (242) hide show
  1. package/bin/index.js +67 -0
  2. package/package.json +18 -4
  3. package/templates/backend/.gitattributes +2 -0
  4. package/templates/backend/.idea/compiler.xml +21 -0
  5. package/templates/backend/.idea/encodings.xml +6 -0
  6. package/templates/backend/.idea/jarRepositories.xml +20 -0
  7. package/templates/backend/.idea/misc.xml +12 -0
  8. package/templates/backend/.idea/vcs.xml +6 -0
  9. package/templates/backend/.mvn/wrapper/maven-wrapper.properties +3 -0
  10. package/templates/backend/mvnw +295 -0
  11. package/templates/backend/mvnw.cmd +189 -0
  12. package/templates/backend/pom.xml +104 -0
  13. package/templates/backend/src/main/java/com/example/crud/CrudApplication.java +13 -0
  14. package/templates/backend/src/main/java/com/example/crud/controller/ItemController.java +42 -0
  15. package/templates/backend/src/main/java/com/example/crud/model/Item.java +20 -0
  16. package/templates/backend/src/main/java/com/example/crud/repository/ItemRepository.java +9 -0
  17. package/templates/backend/src/main/java/com/example/crud/service/ItemService.java +37 -0
  18. package/templates/backend/src/main/resources/application.properties +4 -0
  19. package/templates/backend/src/test/java/com/example/crud/CrudApplicationTests.java +13 -0
  20. package/templates/frontend/.vscode/extensions.json +3 -0
  21. package/templates/frontend/README.md +38 -0
  22. package/templates/frontend/index.html +13 -0
  23. package/templates/frontend/jsconfig.json +8 -0
  24. package/templates/frontend/package.json +22 -0
  25. package/templates/frontend/public/favicon.ico +0 -0
  26. package/templates/frontend/src/App.vue +50 -0
  27. package/templates/frontend/src/assets/base.css +86 -0
  28. package/templates/frontend/src/assets/logo.svg +1 -0
  29. package/templates/frontend/src/assets/main.css +35 -0
  30. package/templates/frontend/src/components/HelloWorld.vue +44 -0
  31. package/templates/frontend/src/components/TheWelcome.vue +95 -0
  32. package/templates/frontend/src/components/WelcomeItem.vue +87 -0
  33. package/templates/frontend/src/components/icons/IconCommunity.vue +7 -0
  34. package/templates/frontend/src/components/icons/IconDocumentation.vue +7 -0
  35. package/templates/frontend/src/components/icons/IconEcosystem.vue +7 -0
  36. package/templates/frontend/src/components/icons/IconSupport.vue +7 -0
  37. package/templates/frontend/src/components/icons/IconTooling.vue +19 -0
  38. package/templates/frontend/src/main.js +6 -0
  39. package/templates/frontend/src/services/ItemService.js +21 -0
  40. package/templates/frontend/vite.config.js +18 -0
  41. package/templates/html-css-js/index.html +100 -0
  42. package/templates/servlet-basic/WEB-INF/ItemServlet.java +41 -0
  43. package/templates/servlet-basic/WEB-INF/web.xml +15 -0
  44. package/templates/servlet-basic/index.html +24 -0
  45. package/templates/servlet-flow/SERVLET_EXAM_CHEATSHEET.md +389 -0
  46. package/templates/servlet-flow/WEB-INF/HelloServlet.java +26 -0
  47. package/templates/servlet-flow/WEB-INF/web.xml +11 -0
  48. package/templates/servlet-flow/index.html +16 -0
  49. package/templates/servlet-jdbc/WEB-INF/JdbcItemServlet.java +86 -0
  50. package/templates/servlet-jdbc/WEB-INF/web.xml +15 -0
  51. package/templates/servlet-jdbc/index.html +38 -0
  52. package/templates/springboot-mockmvc/.mvn/wrapper/maven-wrapper.properties +3 -0
  53. package/templates/springboot-mockmvc/mvnw +295 -0
  54. package/templates/springboot-mockmvc/mvnw.cmd +189 -0
  55. package/templates/springboot-mockmvc/pom.xml +91 -0
  56. package/templates/springboot-mockmvc/src/main/java/com/example/mockmvc/MockMvcApplication.java +11 -0
  57. package/templates/springboot-mockmvc/src/main/java/com/example/mockmvc/controller/ItemController.java +41 -0
  58. package/templates/springboot-mockmvc/src/main/java/com/example/mockmvc/model/Item.java +19 -0
  59. package/templates/springboot-mockmvc/src/main/java/com/example/mockmvc/repository/ItemRepository.java +9 -0
  60. package/templates/springboot-mockmvc/src/main/java/com/example/mockmvc/service/ItemService.java +38 -0
  61. package/templates/springboot-mockmvc/src/main/resources/application.properties +4 -0
  62. package/templates/springboot-mockmvc/src/test/java/com/example/mockmvc/ItemControllerTest.java +96 -0
  63. package/templates/springboot-mongo-aggregation/.mvn/wrapper/maven-wrapper.properties +3 -0
  64. package/templates/springboot-mongo-aggregation/mvnw +295 -0
  65. package/templates/springboot-mongo-aggregation/mvnw.cmd +189 -0
  66. package/templates/springboot-mongo-aggregation/pom.xml +91 -0
  67. package/templates/springboot-mongo-aggregation/src/main/java/com/example/aggregation/AggregationApplication.java +11 -0
  68. package/templates/springboot-mongo-aggregation/src/main/java/com/example/aggregation/controller/AnalyticsController.java +27 -0
  69. package/templates/springboot-mongo-aggregation/src/main/java/com/example/aggregation/controller/ItemController.java +41 -0
  70. package/templates/springboot-mongo-aggregation/src/main/java/com/example/aggregation/model/CategoryAnalytics.java +15 -0
  71. package/templates/springboot-mongo-aggregation/src/main/java/com/example/aggregation/model/FilteredResult.java +13 -0
  72. package/templates/springboot-mongo-aggregation/src/main/java/com/example/aggregation/model/Item.java +21 -0
  73. package/templates/springboot-mongo-aggregation/src/main/java/com/example/aggregation/repository/ItemRepository.java +9 -0
  74. package/templates/springboot-mongo-aggregation/src/main/java/com/example/aggregation/service/AnalyticsService.java +40 -0
  75. package/templates/springboot-mongo-aggregation/src/main/java/com/example/aggregation/service/ItemService.java +38 -0
  76. package/templates/springboot-mongo-aggregation/src/main/resources/application.properties +4 -0
  77. package/templates/springboot-mongo-aggregation/src/test/java/com/example/aggregation/AggregationApplicationTests.java +13 -0
  78. package/templates/springboot-mongo-aggregation-mockmvc/.mvn/wrapper/maven-wrapper.properties +3 -0
  79. package/templates/springboot-mongo-aggregation-mockmvc/mvnw +295 -0
  80. package/templates/springboot-mongo-aggregation-mockmvc/mvnw.cmd +189 -0
  81. package/templates/springboot-mongo-aggregation-mockmvc/pom.xml +91 -0
  82. package/templates/springboot-mongo-aggregation-mockmvc/src/main/java/com/example/aggmockmvc/AggMockMvcApplication.java +11 -0
  83. package/templates/springboot-mongo-aggregation-mockmvc/src/main/java/com/example/aggmockmvc/controller/AnalyticsController.java +27 -0
  84. package/templates/springboot-mongo-aggregation-mockmvc/src/main/java/com/example/aggmockmvc/controller/ItemController.java +41 -0
  85. package/templates/springboot-mongo-aggregation-mockmvc/src/main/java/com/example/aggmockmvc/model/CategoryAnalytics.java +15 -0
  86. package/templates/springboot-mongo-aggregation-mockmvc/src/main/java/com/example/aggmockmvc/model/FilteredResult.java +13 -0
  87. package/templates/springboot-mongo-aggregation-mockmvc/src/main/java/com/example/aggmockmvc/model/Item.java +21 -0
  88. package/templates/springboot-mongo-aggregation-mockmvc/src/main/java/com/example/aggmockmvc/repository/ItemRepository.java +9 -0
  89. package/templates/springboot-mongo-aggregation-mockmvc/src/main/java/com/example/aggmockmvc/service/AnalyticsService.java +40 -0
  90. package/templates/springboot-mongo-aggregation-mockmvc/src/main/java/com/example/aggmockmvc/service/ItemService.java +38 -0
  91. package/templates/springboot-mongo-aggregation-mockmvc/src/main/resources/application.properties +4 -0
  92. package/templates/springboot-mongo-aggregation-mockmvc/src/test/java/com/example/aggmockmvc/AnalyticsControllerTest.java +52 -0
  93. package/templates/springboot-mongo-aggregation-mockmvc/src/test/java/com/example/aggmockmvc/ItemControllerTest.java +96 -0
  94. package/templates/springboot-mongo-crud/.mvn/wrapper/maven-wrapper.properties +3 -0
  95. package/templates/springboot-mongo-crud/mvnw +295 -0
  96. package/templates/springboot-mongo-crud/mvnw.cmd +189 -0
  97. package/templates/springboot-mongo-crud/pom.xml +91 -0
  98. package/templates/springboot-mongo-crud/src/main/java/com/example/crud/CrudApplication.java +11 -0
  99. package/templates/springboot-mongo-crud/src/main/java/com/example/crud/controller/ItemController.java +41 -0
  100. package/templates/springboot-mongo-crud/src/main/java/com/example/crud/model/Item.java +19 -0
  101. package/templates/springboot-mongo-crud/src/main/java/com/example/crud/repository/ItemRepository.java +9 -0
  102. package/templates/springboot-mongo-crud/src/main/java/com/example/crud/service/ItemService.java +38 -0
  103. package/templates/springboot-mongo-crud/src/main/resources/application.properties +4 -0
  104. package/templates/springboot-mongo-crud/src/test/java/com/example/crud/CrudApplicationTests.java +13 -0
  105. package/templates/vue-axios/index.html +12 -0
  106. package/templates/vue-axios/package-lock.json +1381 -0
  107. package/templates/vue-axios/package.json +19 -0
  108. package/templates/vue-axios/src/App.vue +243 -0
  109. package/templates/vue-axios/src/main.js +4 -0
  110. package/templates/vue-axios/src/services/ItemService.js +21 -0
  111. package/templates/vue-axios/vite.config.js +6 -0
  112. package/templates/vue-basics/index.html +12 -0
  113. package/templates/vue-basics/package-lock.json +1049 -0
  114. package/templates/vue-basics/package.json +18 -0
  115. package/templates/vue-basics/src/App.vue +91 -0
  116. package/templates/vue-basics/src/main.js +4 -0
  117. package/templates/vue-basics/vite.config.js +6 -0
  118. package/templates/vue-fetch/index.html +12 -0
  119. package/templates/vue-fetch/package-lock.json +1049 -0
  120. package/templates/vue-fetch/package.json +18 -0
  121. package/templates/vue-fetch/src/App.vue +259 -0
  122. package/templates/vue-fetch/src/main.js +4 -0
  123. package/templates/vue-fetch/vite.config.js +6 -0
  124. package/templates/vue-pinia/index.html +12 -0
  125. package/templates/vue-pinia/package-lock.json +1135 -0
  126. package/templates/vue-pinia/package.json +19 -0
  127. package/templates/vue-pinia/src/App.vue +21 -0
  128. package/templates/vue-pinia/src/components/ItemForm.vue +44 -0
  129. package/templates/vue-pinia/src/components/ItemList.vue +72 -0
  130. package/templates/vue-pinia/src/main.js +7 -0
  131. package/templates/vue-pinia/src/stores/itemStore.js +27 -0
  132. package/templates/vue-pinia/vite.config.js +6 -0
  133. package/templates/vue-props-emits/index.html +12 -0
  134. package/templates/vue-props-emits/package-lock.json +1049 -0
  135. package/templates/vue-props-emits/package.json +18 -0
  136. package/templates/vue-props-emits/src/App.vue +44 -0
  137. package/templates/vue-props-emits/src/components/ItemCard.vue +26 -0
  138. package/templates/vue-props-emits/src/components/ItemForm.vue +42 -0
  139. package/templates/vue-props-emits/src/main.js +4 -0
  140. package/templates/vue-props-emits/vite.config.js +6 -0
  141. package/templates/vue-router/index.html +12 -0
  142. package/templates/vue-router/package-lock.json +1552 -0
  143. package/templates/vue-router/package.json +19 -0
  144. package/templates/vue-router/src/App.vue +20 -0
  145. package/templates/vue-router/src/data/items.js +6 -0
  146. package/templates/vue-router/src/main.js +5 -0
  147. package/templates/vue-router/src/router/index.js +25 -0
  148. package/templates/vue-router/src/views/CreateView.vue +49 -0
  149. package/templates/vue-router/src/views/DetailView.vue +31 -0
  150. package/templates/vue-router/src/views/ItemsLayout.vue +11 -0
  151. package/templates/vue-router/src/views/ListView.vue +29 -0
  152. package/templates/vue-router/vite.config.js +6 -0
  153. package/templates/vue-router-pinia/index.html +12 -0
  154. package/templates/vue-router-pinia/package-lock.json +1578 -0
  155. package/templates/vue-router-pinia/package.json +20 -0
  156. package/templates/vue-router-pinia/src/App.vue +20 -0
  157. package/templates/vue-router-pinia/src/data/items.js +6 -0
  158. package/templates/vue-router-pinia/src/main.js +9 -0
  159. package/templates/vue-router-pinia/src/router/index.js +25 -0
  160. package/templates/vue-router-pinia/src/stores/itemStore.js +30 -0
  161. package/templates/vue-router-pinia/src/views/CreateView.vue +53 -0
  162. package/templates/vue-router-pinia/src/views/DetailView.vue +57 -0
  163. package/templates/vue-router-pinia/src/views/ItemsLayout.vue +11 -0
  164. package/templates/vue-router-pinia/src/views/ListView.vue +22 -0
  165. package/templates/vue-router-pinia/vite.config.js +6 -0
  166. package/templates/vue-router-pinia-props/index.html +12 -0
  167. package/templates/vue-router-pinia-props/package-lock.json +1578 -0
  168. package/templates/vue-router-pinia-props/package.json +20 -0
  169. package/templates/vue-router-pinia-props/src/App.vue +20 -0
  170. package/templates/vue-router-pinia-props/src/components/ItemCard.vue +33 -0
  171. package/templates/vue-router-pinia-props/src/components/ItemForm.vue +58 -0
  172. package/templates/vue-router-pinia-props/src/main.js +9 -0
  173. package/templates/vue-router-pinia-props/src/router/index.js +27 -0
  174. package/templates/vue-router-pinia-props/src/stores/itemStore.js +28 -0
  175. package/templates/vue-router-pinia-props/src/views/CreateView.vue +26 -0
  176. package/templates/vue-router-pinia-props/src/views/DetailView.vue +34 -0
  177. package/templates/vue-router-pinia-props/src/views/EditView.vue +33 -0
  178. package/templates/vue-router-pinia-props/src/views/ItemsLayout.vue +11 -0
  179. package/templates/vue-router-pinia-props/src/views/ListView.vue +31 -0
  180. package/templates/vue-router-pinia-props/vite.config.js +6 -0
  181. package/templates/vue-router-pinia-springboot/backend/.mvn/wrapper/maven-wrapper.properties +3 -0
  182. package/templates/vue-router-pinia-springboot/backend/mvnw +295 -0
  183. package/templates/vue-router-pinia-springboot/backend/mvnw.cmd +189 -0
  184. package/templates/vue-router-pinia-springboot/backend/pom.xml +88 -0
  185. package/templates/vue-router-pinia-springboot/backend/src/main/java/com/example/crud/CrudApplication.java +11 -0
  186. package/templates/vue-router-pinia-springboot/backend/src/main/java/com/example/crud/controller/ItemController.java +41 -0
  187. package/templates/vue-router-pinia-springboot/backend/src/main/java/com/example/crud/model/Item.java +19 -0
  188. package/templates/vue-router-pinia-springboot/backend/src/main/java/com/example/crud/repository/ItemRepository.java +9 -0
  189. package/templates/vue-router-pinia-springboot/backend/src/main/java/com/example/crud/service/ItemService.java +35 -0
  190. package/templates/vue-router-pinia-springboot/backend/src/main/resources/application.properties +4 -0
  191. package/templates/vue-router-pinia-springboot/frontend/index.html +12 -0
  192. package/templates/vue-router-pinia-springboot/frontend/package-lock.json +1785 -0
  193. package/templates/vue-router-pinia-springboot/frontend/package.json +21 -0
  194. package/templates/vue-router-pinia-springboot/frontend/src/App.vue +13 -0
  195. package/templates/vue-router-pinia-springboot/frontend/src/main.js +11 -0
  196. package/templates/vue-router-pinia-springboot/frontend/src/router/index.js +25 -0
  197. package/templates/vue-router-pinia-springboot/frontend/src/services/ItemService.js +21 -0
  198. package/templates/vue-router-pinia-springboot/frontend/src/stores/itemStore.js +37 -0
  199. package/templates/vue-router-pinia-springboot/frontend/src/views/AddView.vue +56 -0
  200. package/templates/vue-router-pinia-springboot/frontend/src/views/ItemDetailView.vue +88 -0
  201. package/templates/vue-router-pinia-springboot/frontend/src/views/ItemsLayout.vue +11 -0
  202. package/templates/vue-router-pinia-springboot/frontend/src/views/ListView.vue +67 -0
  203. package/templates/vue-router-pinia-springboot/frontend/vite.config.js +9 -0
  204. package/templates/vue-springboot-mongo-aggregation/backend/.mvn/wrapper/maven-wrapper.properties +3 -0
  205. package/templates/vue-springboot-mongo-aggregation/backend/mvnw +295 -0
  206. package/templates/vue-springboot-mongo-aggregation/backend/mvnw.cmd +189 -0
  207. package/templates/vue-springboot-mongo-aggregation/backend/pom.xml +88 -0
  208. package/templates/vue-springboot-mongo-aggregation/backend/src/main/java/com/example/aggregation/AggregationApplication.java +11 -0
  209. package/templates/vue-springboot-mongo-aggregation/backend/src/main/java/com/example/aggregation/controller/AnalyticsController.java +24 -0
  210. package/templates/vue-springboot-mongo-aggregation/backend/src/main/java/com/example/aggregation/controller/ItemController.java +41 -0
  211. package/templates/vue-springboot-mongo-aggregation/backend/src/main/java/com/example/aggregation/dto/CategorySummary.java +16 -0
  212. package/templates/vue-springboot-mongo-aggregation/backend/src/main/java/com/example/aggregation/model/Item.java +21 -0
  213. package/templates/vue-springboot-mongo-aggregation/backend/src/main/java/com/example/aggregation/repository/ItemRepository.java +9 -0
  214. package/templates/vue-springboot-mongo-aggregation/backend/src/main/java/com/example/aggregation/service/AnalyticsService.java +32 -0
  215. package/templates/vue-springboot-mongo-aggregation/backend/src/main/java/com/example/aggregation/service/ItemService.java +35 -0
  216. package/templates/vue-springboot-mongo-aggregation/backend/src/main/resources/application.properties +4 -0
  217. package/templates/vue-springboot-mongo-aggregation/frontend/index.html +12 -0
  218. package/templates/vue-springboot-mongo-aggregation/frontend/package-lock.json +1714 -0
  219. package/templates/vue-springboot-mongo-aggregation/frontend/package.json +19 -0
  220. package/templates/vue-springboot-mongo-aggregation/frontend/src/App.vue +211 -0
  221. package/templates/vue-springboot-mongo-aggregation/frontend/src/main.js +4 -0
  222. package/templates/vue-springboot-mongo-aggregation/frontend/src/services/AnalyticsService.js +9 -0
  223. package/templates/vue-springboot-mongo-aggregation/frontend/src/services/ItemService.js +21 -0
  224. package/templates/vue-springboot-mongo-aggregation/frontend/vite.config.js +9 -0
  225. package/templates/vue-springboot-mongo-crud/backend/.mvn/wrapper/maven-wrapper.properties +3 -0
  226. package/templates/vue-springboot-mongo-crud/backend/mvnw +295 -0
  227. package/templates/vue-springboot-mongo-crud/backend/mvnw.cmd +189 -0
  228. package/templates/vue-springboot-mongo-crud/backend/pom.xml +88 -0
  229. package/templates/vue-springboot-mongo-crud/backend/src/main/java/com/example/crud/CrudApplication.java +11 -0
  230. package/templates/vue-springboot-mongo-crud/backend/src/main/java/com/example/crud/controller/ItemController.java +41 -0
  231. package/templates/vue-springboot-mongo-crud/backend/src/main/java/com/example/crud/model/Item.java +19 -0
  232. package/templates/vue-springboot-mongo-crud/backend/src/main/java/com/example/crud/repository/ItemRepository.java +9 -0
  233. package/templates/vue-springboot-mongo-crud/backend/src/main/java/com/example/crud/service/ItemService.java +35 -0
  234. package/templates/vue-springboot-mongo-crud/backend/src/main/resources/application.properties +4 -0
  235. package/templates/vue-springboot-mongo-crud/frontend/index.html +12 -0
  236. package/templates/vue-springboot-mongo-crud/frontend/package-lock.json +1714 -0
  237. package/templates/vue-springboot-mongo-crud/frontend/package.json +19 -0
  238. package/templates/vue-springboot-mongo-crud/frontend/src/App.vue +149 -0
  239. package/templates/vue-springboot-mongo-crud/frontend/src/main.js +4 -0
  240. package/templates/vue-springboot-mongo-crud/frontend/src/services/ItemService.js +21 -0
  241. package/templates/vue-springboot-mongo-crud/frontend/vite.config.js +9 -0
  242. package/README.md +0 -3
@@ -0,0 +1,104 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
4
+ <modelVersion>4.0.0</modelVersion>
5
+ <parent>
6
+ <groupId>org.springframework.boot</groupId>
7
+ <artifactId>spring-boot-starter-parent</artifactId>
8
+ <version>4.1.1</version>
9
+ <relativePath/> <!-- lookup parent from repository -->
10
+ </parent>
11
+ <groupId>com.example</groupId>
12
+ <artifactId>crud</artifactId>
13
+ <version>0.0.1-SNAPSHOT</version>
14
+ <name/>
15
+ <description/>
16
+ <url/>
17
+ <licenses>
18
+ <license/>
19
+ </licenses>
20
+ <developers>
21
+ <developer/>
22
+ </developers>
23
+ <scm>
24
+ <connection/>
25
+ <developerConnection/>
26
+ <tag/>
27
+ <url/>
28
+ </scm>
29
+ <properties>
30
+ <java.version>21</java.version>
31
+ </properties>
32
+ <dependencies>
33
+ <dependency>
34
+ <groupId>org.springframework.boot</groupId>
35
+ <artifactId>spring-boot-starter-data-mongodb</artifactId>
36
+ </dependency>
37
+ <dependency>
38
+ <groupId>org.springframework.boot</groupId>
39
+ <artifactId>spring-boot-starter-webmvc</artifactId>
40
+ </dependency>
41
+
42
+ <dependency>
43
+ <groupId>org.projectlombok</groupId>
44
+ <artifactId>lombok</artifactId>
45
+ <optional>true</optional>
46
+ </dependency>
47
+ <dependency>
48
+ <groupId>org.springframework.boot</groupId>
49
+ <artifactId>spring-boot-starter-data-mongodb-test</artifactId>
50
+ <scope>test</scope>
51
+ </dependency>
52
+ <dependency>
53
+ <groupId>org.springframework.boot</groupId>
54
+ <artifactId>spring-boot-starter-webmvc-test</artifactId>
55
+ <scope>test</scope>
56
+ </dependency>
57
+ </dependencies>
58
+
59
+ <build>
60
+ <plugins>
61
+ <plugin>
62
+ <groupId>org.springframework.boot</groupId>
63
+ <artifactId>spring-boot-maven-plugin</artifactId>
64
+ </plugin>
65
+ <plugin>
66
+ <groupId>org.apache.maven.plugins</groupId>
67
+ <artifactId>maven-compiler-plugin</artifactId>
68
+ <executions>
69
+ <execution>
70
+ <id>default-compile</id>
71
+ <phase>compile</phase>
72
+ <goals>
73
+ <goal>compile</goal>
74
+ </goals>
75
+ <configuration>
76
+ <annotationProcessorPaths>
77
+ <path>
78
+ <groupId>org.projectlombok</groupId>
79
+ <artifactId>lombok</artifactId>
80
+ </path>
81
+ </annotationProcessorPaths>
82
+ </configuration>
83
+ </execution>
84
+ <execution>
85
+ <id>default-testCompile</id>
86
+ <phase>test-compile</phase>
87
+ <goals>
88
+ <goal>testCompile</goal>
89
+ </goals>
90
+ <configuration>
91
+ <annotationProcessorPaths>
92
+ <path>
93
+ <groupId>org.projectlombok</groupId>
94
+ <artifactId>lombok</artifactId>
95
+ </path>
96
+ </annotationProcessorPaths>
97
+ </configuration>
98
+ </execution>
99
+ </executions>
100
+ </plugin>
101
+ </plugins>
102
+ </build>
103
+
104
+ </project>
@@ -0,0 +1,13 @@
1
+ package com.example.crud;
2
+
3
+ import org.springframework.boot.SpringApplication;
4
+ import org.springframework.boot.autoconfigure.SpringBootApplication;
5
+
6
+ @SpringBootApplication
7
+ public class CrudApplication {
8
+
9
+ public static void main(String[] args) {
10
+ SpringApplication.run(CrudApplication.class, args);
11
+ }
12
+
13
+ }
@@ -0,0 +1,42 @@
1
+ package com.example.crud.controller;
2
+
3
+ import com.example.crud.model.Item;
4
+ import com.example.crud.service.ItemService;
5
+ import org.springframework.beans.factory.annotation.Autowired;
6
+ import org.springframework.web.bind.annotation.*;
7
+
8
+ import java.util.List;
9
+
10
+ @RestController
11
+ @RequestMapping("/api/items")
12
+ @CrossOrigin(origins = "*")
13
+ public class ItemController {
14
+ @Autowired
15
+ private ItemService service;
16
+
17
+ @GetMapping
18
+ public List<Item> getAll(){
19
+ return service.getAll();
20
+ }
21
+
22
+ @GetMapping("/{id}")
23
+ public Item getOne(@PathVariable String id){
24
+ return service.getOne(id);
25
+ }
26
+
27
+ @PostMapping
28
+ public Item create(@RequestBody Item item){
29
+ return service.create(item);
30
+ }
31
+
32
+ @PutMapping("/{id}")
33
+ public Item update(@PathVariable String id,@RequestBody Item item){
34
+ return service.update(id, item);
35
+ }
36
+
37
+ @DeleteMapping("/{id}")
38
+ public String delete(@PathVariable String id){
39
+ return service.delete(id);
40
+ }
41
+
42
+ }
@@ -0,0 +1,20 @@
1
+ package com.example.crud.model;
2
+
3
+ import lombok.AllArgsConstructor;
4
+ import lombok.Data;
5
+ import lombok.NoArgsConstructor;
6
+ import org.springframework.data.annotation.Id;
7
+ import org.springframework.data.mongodb.core.mapping.Document;
8
+
9
+ @Data
10
+ @NoArgsConstructor
11
+ @AllArgsConstructor
12
+ @Document(collection = "item")
13
+
14
+ public class Item {
15
+ @Id
16
+ private String id;
17
+ private String name;
18
+ private String describtion;
19
+ private double price;
20
+ }
@@ -0,0 +1,9 @@
1
+ package com.example.crud.repository;
2
+
3
+ import com.example.crud.model.Item;
4
+ import org.springframework.data.mongodb.repository.MongoRepository;
5
+ import org.springframework.stereotype.Repository;
6
+
7
+ @Repository
8
+ public interface ItemRepository extends MongoRepository<Item,String> {
9
+ }
@@ -0,0 +1,37 @@
1
+ package com.example.crud.service;
2
+
3
+ import com.example.crud.model.Item;
4
+ import com.example.crud.repository.ItemRepository;
5
+ import org.springframework.beans.factory.annotation.Autowired;
6
+ import org.springframework.stereotype.Service;
7
+
8
+ import java.util.List;
9
+
10
+ @Service
11
+ public class ItemService {
12
+ @Autowired
13
+ private ItemRepository repo;
14
+
15
+ public List<Item> getAll(){
16
+ return repo.findAll();
17
+ }
18
+
19
+ public Item getOne(String id){
20
+ return repo.findById(id).orElse(null);
21
+
22
+ }
23
+
24
+ public Item create(Item item){
25
+ return repo.save(item);
26
+ }
27
+
28
+ public Item update(String id,Item item){
29
+ item.setId(id);
30
+ return repo.save(item);
31
+ }
32
+
33
+ public String delete(String id){
34
+ repo.deleteById(id);
35
+ return "delete success";
36
+ }
37
+ }
@@ -0,0 +1,4 @@
1
+ spring.application.name=crud
2
+ server.port=8080
3
+ spring.data.mongodb.uri=mongodb://localhost:27017/my_crud_db
4
+ spring.data.mongodb.database=my_crud_db
@@ -0,0 +1,13 @@
1
+ package com.example.crud;
2
+
3
+ import org.junit.jupiter.api.Test;
4
+ import org.springframework.boot.test.context.SpringBootTest;
5
+
6
+ @SpringBootTest
7
+ class CrudApplicationTests {
8
+
9
+ @Test
10
+ void contextLoads() {
11
+ }
12
+
13
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "recommendations": ["Vue.volar"]
3
+ }
@@ -0,0 +1,38 @@
1
+ # crud-frontend
2
+
3
+ This template should help get you started developing with Vue 3 in Vite.
4
+
5
+ ## Recommended IDE Setup
6
+
7
+ [VS Code](https://code.visualstudio.com/) + [Vue (Official)](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur).
8
+
9
+ ## Recommended Browser Setup
10
+
11
+ - Chromium-based browsers (Chrome, Edge, Brave, etc.):
12
+ - [Vue.js devtools](https://chromewebstore.google.com/detail/vuejs-devtools/nhdogjmejiglipccpnnnanhbledajbpd)
13
+ - [Turn on Custom Object Formatter in Chrome DevTools](http://bit.ly/object-formatters)
14
+ - Firefox:
15
+ - [Vue.js devtools](https://addons.mozilla.org/en-US/firefox/addon/vue-js-devtools/)
16
+ - [Turn on Custom Object Formatter in Firefox DevTools](https://fxdx.dev/firefox-devtools-custom-object-formatters/)
17
+
18
+ ## Customize configuration
19
+
20
+ See [Vite Configuration Reference](https://vite.dev/config/).
21
+
22
+ ## Project Setup
23
+
24
+ ```sh
25
+ npm install
26
+ ```
27
+
28
+ ### Compile and Hot-Reload for Development
29
+
30
+ ```sh
31
+ npm run dev
32
+ ```
33
+
34
+ ### Compile and Minify for Production
35
+
36
+ ```sh
37
+ npm run build
38
+ ```
@@ -0,0 +1,13 @@
1
+ <!DOCTYPE html>
2
+ <html lang="">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <link rel="icon" href="/favicon.ico">
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
+ <title>Vite App</title>
8
+ </head>
9
+ <body>
10
+ <div id="app"></div>
11
+ <script type="module" src="/src/main.js"></script>
12
+ </body>
13
+ </html>
@@ -0,0 +1,8 @@
1
+ {
2
+ "compilerOptions": {
3
+ "paths": {
4
+ "@/*": ["./src/*"]
5
+ }
6
+ },
7
+ "exclude": ["node_modules", "dist"]
8
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "name": "crud-frontend",
3
+ "version": "0.0.0",
4
+ "private": true,
5
+ "type": "module",
6
+ "scripts": {
7
+ "dev": "vite",
8
+ "build": "vite build",
9
+ "preview": "vite preview"
10
+ },
11
+ "dependencies": {
12
+ "vue": "^3.5.42"
13
+ },
14
+ "devDependencies": {
15
+ "@vitejs/plugin-vue": "^6.0.8",
16
+ "vite": "^8.2.2",
17
+ "vite-plugin-vue-devtools": "^8.2.1"
18
+ },
19
+ "engines": {
20
+ "node": "^22.18.0 || >=24.12.0"
21
+ }
22
+ }
@@ -0,0 +1,50 @@
1
+ <script setup>
2
+ import { ref, onMounted } from 'vue';
3
+ import ItemService from './services/ItemService';
4
+
5
+ const items = ref([]);
6
+ const name = ref('');
7
+ const describtion = ref('');
8
+ const price = ref(0);
9
+
10
+ const load = async () => {
11
+ const res = await ItemService.getAll();
12
+ items.value = res.data;
13
+ };
14
+
15
+ const addItem = async () => {
16
+ await ItemService.create({ name: name.value, describtion: describtion.value, price: price.value });
17
+ name.value = '';
18
+ describtion.value = '';
19
+ price.value = 0;
20
+ load();
21
+ };
22
+
23
+ const deleteItem = async (id) => {
24
+ await ItemService.delete(id);
25
+ load();
26
+ };
27
+
28
+ onMounted(load);
29
+ </script>
30
+
31
+ <template>
32
+ <h2>Simple CRUD</h2>
33
+
34
+ <form @submit.prevent="addItem">
35
+ <input v-model="name" placeholder="Name" required />
36
+ <input v-model="describtion" placeholder="Description" required />
37
+ <input v-model="price" type="number" placeholder="Price" required />
38
+ <button type="submit">Add</button>
39
+ </form>
40
+
41
+ <hr />
42
+
43
+ <h3>Items List:</h3>
44
+ <ul>
45
+ <li v-for="item in items" :key="item.id">
46
+ {{ item.name }} - {{ item.describtion }} - {{ item.price }}
47
+ <button @click="deleteItem(item.id)">Delete</button>
48
+ </li>
49
+ </ul>
50
+ </template>
@@ -0,0 +1,86 @@
1
+ /* color palette from <https://github.com/vuejs/theme> */
2
+ :root {
3
+ --vt-c-white: #ffffff;
4
+ --vt-c-white-soft: #f8f8f8;
5
+ --vt-c-white-mute: #f2f2f2;
6
+
7
+ --vt-c-black: #181818;
8
+ --vt-c-black-soft: #222222;
9
+ --vt-c-black-mute: #282828;
10
+
11
+ --vt-c-indigo: #2c3e50;
12
+
13
+ --vt-c-divider-light-1: rgba(60, 60, 60, 0.29);
14
+ --vt-c-divider-light-2: rgba(60, 60, 60, 0.12);
15
+ --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65);
16
+ --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48);
17
+
18
+ --vt-c-text-light-1: var(--vt-c-indigo);
19
+ --vt-c-text-light-2: rgba(60, 60, 60, 0.66);
20
+ --vt-c-text-dark-1: var(--vt-c-white);
21
+ --vt-c-text-dark-2: rgba(235, 235, 235, 0.64);
22
+ }
23
+
24
+ /* semantic color variables for this project */
25
+ :root {
26
+ --color-background: var(--vt-c-white);
27
+ --color-background-soft: var(--vt-c-white-soft);
28
+ --color-background-mute: var(--vt-c-white-mute);
29
+
30
+ --color-border: var(--vt-c-divider-light-2);
31
+ --color-border-hover: var(--vt-c-divider-light-1);
32
+
33
+ --color-heading: var(--vt-c-text-light-1);
34
+ --color-text: var(--vt-c-text-light-1);
35
+
36
+ --section-gap: 160px;
37
+ }
38
+
39
+ @media (prefers-color-scheme: dark) {
40
+ :root {
41
+ --color-background: var(--vt-c-black);
42
+ --color-background-soft: var(--vt-c-black-soft);
43
+ --color-background-mute: var(--vt-c-black-mute);
44
+
45
+ --color-border: var(--vt-c-divider-dark-2);
46
+ --color-border-hover: var(--vt-c-divider-dark-1);
47
+
48
+ --color-heading: var(--vt-c-text-dark-1);
49
+ --color-text: var(--vt-c-text-dark-2);
50
+ }
51
+ }
52
+
53
+ *,
54
+ *::before,
55
+ *::after {
56
+ box-sizing: border-box;
57
+ margin: 0;
58
+ font-weight: normal;
59
+ }
60
+
61
+ body {
62
+ min-height: 100vh;
63
+ color: var(--color-text);
64
+ background: var(--color-background);
65
+ transition:
66
+ color 0.5s,
67
+ background-color 0.5s;
68
+ line-height: 1.6;
69
+ font-family:
70
+ Inter,
71
+ -apple-system,
72
+ BlinkMacSystemFont,
73
+ 'Segoe UI',
74
+ Roboto,
75
+ Oxygen,
76
+ Ubuntu,
77
+ Cantarell,
78
+ 'Fira Sans',
79
+ 'Droid Sans',
80
+ 'Helvetica Neue',
81
+ sans-serif;
82
+ font-size: 15px;
83
+ text-rendering: optimizeLegibility;
84
+ -webkit-font-smoothing: antialiased;
85
+ -moz-osx-font-smoothing: grayscale;
86
+ }
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 261.76 226.69"><path d="M161.096.001l-30.225 52.351L100.647.001H-.005l130.877 226.688L261.749.001z" fill="#41b883"/><path d="M161.096.001l-30.225 52.351L100.647.001H52.346l78.526 136.01L209.398.001z" fill="#34495e"/></svg>
@@ -0,0 +1,35 @@
1
+ @import './base.css';
2
+
3
+ #app {
4
+ max-width: 1280px;
5
+ margin: 0 auto;
6
+ padding: 2rem;
7
+ font-weight: normal;
8
+ }
9
+
10
+ a,
11
+ .green {
12
+ text-decoration: none;
13
+ color: hsla(160, 100%, 37%, 1);
14
+ transition: 0.4s;
15
+ padding: 3px;
16
+ }
17
+
18
+ @media (hover: hover) {
19
+ a:hover {
20
+ background-color: hsla(160, 100%, 37%, 0.2);
21
+ }
22
+ }
23
+
24
+ @media (min-width: 1024px) {
25
+ body {
26
+ display: flex;
27
+ place-items: center;
28
+ }
29
+
30
+ #app {
31
+ display: grid;
32
+ grid-template-columns: 1fr 1fr;
33
+ padding: 0 2rem;
34
+ }
35
+ }
@@ -0,0 +1,44 @@
1
+ <script setup>
2
+ defineProps({
3
+ msg: {
4
+ type: String,
5
+ required: true,
6
+ },
7
+ })
8
+ </script>
9
+
10
+ <template>
11
+ <div class="greetings">
12
+ <h1 class="green">{{ msg }}</h1>
13
+ <h3>
14
+ You’ve successfully created a project with
15
+ <a href="https://vite.dev/" target="_blank" rel="noopener">Vite</a> +
16
+ <a href="https://vuejs.org/" target="_blank" rel="noopener">Vue 3</a>.
17
+ </h3>
18
+ </div>
19
+ </template>
20
+
21
+ <style scoped>
22
+ h1 {
23
+ font-weight: 500;
24
+ font-size: 2.6rem;
25
+ position: relative;
26
+ top: -10px;
27
+ }
28
+
29
+ h3 {
30
+ font-size: 1.2rem;
31
+ }
32
+
33
+ .greetings h1,
34
+ .greetings h3 {
35
+ text-align: center;
36
+ }
37
+
38
+ @media (min-width: 1024px) {
39
+ .greetings h1,
40
+ .greetings h3 {
41
+ text-align: left;
42
+ }
43
+ }
44
+ </style>
@@ -0,0 +1,95 @@
1
+ <script setup>
2
+ import WelcomeItem from './WelcomeItem.vue'
3
+ import DocumentationIcon from './icons/IconDocumentation.vue'
4
+ import ToolingIcon from './icons/IconTooling.vue'
5
+ import EcosystemIcon from './icons/IconEcosystem.vue'
6
+ import CommunityIcon from './icons/IconCommunity.vue'
7
+ import SupportIcon from './icons/IconSupport.vue'
8
+
9
+ const openReadmeInEditor = () => fetch('/__open-in-editor?file=README.md')
10
+ </script>
11
+
12
+ <template>
13
+ <WelcomeItem>
14
+ <template #icon>
15
+ <DocumentationIcon />
16
+ </template>
17
+ <template #heading>Documentation</template>
18
+
19
+ Vue’s
20
+ <a href="https://vuejs.org/" target="_blank" rel="noopener">official documentation</a>
21
+ provides you with all information you need to get started.
22
+ </WelcomeItem>
23
+
24
+ <WelcomeItem>
25
+ <template #icon>
26
+ <ToolingIcon />
27
+ </template>
28
+ <template #heading>Tooling</template>
29
+
30
+ This project is served and bundled with
31
+ <a href="https://vite.dev/guide/features.html" target="_blank" rel="noopener">Vite</a>. The
32
+ recommended IDE setup is
33
+ <a href="https://code.visualstudio.com/" target="_blank" rel="noopener">VSCode</a>
34
+ +
35
+ <a href="https://github.com/vuejs/language-tools" target="_blank" rel="noopener"
36
+ >Vue - Official</a
37
+ >. If you need to test your components and web pages, check out
38
+ <a href="https://vitest.dev/" target="_blank" rel="noopener">Vitest</a>
39
+ and
40
+ <a href="https://www.cypress.io/" target="_blank" rel="noopener">Cypress</a>
41
+ /
42
+ <a href="https://playwright.dev/" target="_blank" rel="noopener">Playwright</a>.
43
+
44
+ <br />
45
+
46
+ More instructions are available in
47
+ <a href="javascript:void(0)" @click="openReadmeInEditor"><code>README.md</code></a
48
+ >.
49
+ </WelcomeItem>
50
+
51
+ <WelcomeItem>
52
+ <template #icon>
53
+ <EcosystemIcon />
54
+ </template>
55
+ <template #heading>Ecosystem</template>
56
+
57
+ Get official tools and libraries for your project:
58
+ <a href="https://pinia.vuejs.org/" target="_blank" rel="noopener">Pinia</a>,
59
+ <a href="https://router.vuejs.org/" target="_blank" rel="noopener">Vue Router</a>,
60
+ <a href="https://test-utils.vuejs.org/" target="_blank" rel="noopener">Vue Test Utils</a>, and
61
+ <a href="https://github.com/vuejs/devtools" target="_blank" rel="noopener">Vue Dev Tools</a>. If
62
+ you need more resources, we suggest paying
63
+ <a href="https://github.com/vuejs/awesome-vue" target="_blank" rel="noopener">Awesome Vue</a>
64
+ a visit.
65
+ </WelcomeItem>
66
+
67
+ <WelcomeItem>
68
+ <template #icon>
69
+ <CommunityIcon />
70
+ </template>
71
+ <template #heading>Community</template>
72
+
73
+ Got stuck? Ask your question on
74
+ <a href="https://chat.vuejs.org" target="_blank" rel="noopener">Vue Land</a>
75
+ (our official Discord server), or
76
+ <a href="https://stackoverflow.com/questions/tagged/vue.js" target="_blank" rel="noopener"
77
+ >StackOverflow</a
78
+ >. You should also follow the official
79
+ <a href="https://bsky.app/profile/vuejs.org" target="_blank" rel="noopener">@vuejs.org</a>
80
+ Bluesky account or the
81
+ <a href="https://x.com/vuejs" target="_blank" rel="noopener">@vuejs</a>
82
+ X account for latest news in the Vue world.
83
+ </WelcomeItem>
84
+
85
+ <WelcomeItem>
86
+ <template #icon>
87
+ <SupportIcon />
88
+ </template>
89
+ <template #heading>Support Vue</template>
90
+
91
+ As an independent project, Vue relies on community backing for its sustainability. You can help
92
+ us by
93
+ <a href="https://vuejs.org/sponsor/" target="_blank" rel="noopener">becoming a sponsor</a>.
94
+ </WelcomeItem>
95
+ </template>