feat: initialize Gradle multi-module backend and Vite frontend

This commit is contained in:
2026-08-06 17:17:44 +08:00
commit 2cf32d0768
52 changed files with 2970 additions and 0 deletions
Generated
+1
View File
@@ -0,0 +1 @@
im-system-backend
+20
View File
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ClaudeCodeTabState">
<option name="tabSessions">
<map>
<entry key="0">
<value>
<TabSessionState>
<option name="provider" value="claude" />
<option name="sessionId" value="af370657-b741-43c2-989d-2b6d24979a01" />
<option name="cwd" value="C:\Users\msksbr\IdeaProjects\im-system" />
<option name="model" value="claude-sonnet-5[1m]" />
<option name="permissionMode" value="default" />
</TabSessionState>
</value>
</entry>
</map>
</option>
</component>
</project>
+19
View File
@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<bytecodeTargetLevel target="21" />
</component>
<component name="JavacSettings">
<option name="ADDITIONAL_OPTIONS_OVERRIDE">
<module name="im-system-backend.gateway" options="-parameters" />
<module name="im-system-backend.gateway.main" options="-parameters" />
<module name="im-system-backend.gateway.test" options="-parameters" />
<module name="im-system-backend.im-service" options="-parameters" />
<module name="im-system-backend.im-service.main" options="-parameters" />
<module name="im-system-backend.im-service.test" options="-parameters" />
<module name="im-system-backend.log-service" options="-parameters" />
<module name="im-system-backend.log-service.main" options="-parameters" />
<module name="im-system-backend.log-service.test" options="-parameters" />
</option>
</component>
</project>
+20
View File
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="GradleMigrationSettings" migrationVersion="1" />
<component name="GradleSettings">
<option name="linkedExternalProjectsSettings">
<GradleProjectSettings>
<option name="externalProjectPath" value="$PROJECT_DIR$/backend" />
<option name="gradleJvm" value="#JAVA_HOME" />
<option name="modules">
<set>
<option value="$PROJECT_DIR$/backend" />
<option value="$PROJECT_DIR$/backend/gateway" />
<option value="$PROJECT_DIR$/backend/im-service" />
<option value="$PROJECT_DIR$/backend/log-service" />
</set>
</option>
</GradleProjectSettings>
</option>
</component>
</project>
+7
View File
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="KotlinJpsPluginSettings">
<option name="externalSystemId" value="Gradle" />
<option name="version" value="2.4.10" />
</component>
</project>
+8
View File
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="FrameworkDetectionExcludesConfiguration">
<file type="web" url="file://$PROJECT_DIR$/backend" />
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_21" default="true" project-jdk-name="liberica-full-21" project-jdk-type="JavaSDK" />
</project>
Generated
+6
View File
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>
+184
View File
@@ -0,0 +1,184 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="AutoImportSettings">
<option name="autoReloadType" value="SELECTIVE" />
</component>
<component name="ChangeListManager">
<list default="true" id="e6d31489-464a-4590-aa96-6d15ebe73076" name="更改" comment="">
<change afterPath="$PROJECT_DIR$/.gitignore" afterDir="false" />
<change afterPath="$PROJECT_DIR$/.idea/.name" afterDir="false" />
<change afterPath="$PROJECT_DIR$/.idea/claudeCodeTabState.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/.idea/compiler.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/.idea/gradle.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/.idea/kotlinc.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/.idea/misc.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/.idea/vcs.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/CONTRIBUTING.md" afterDir="false" />
<change afterPath="$PROJECT_DIR$/DEVELOPMENT.md" afterDir="false" />
<change afterPath="$PROJECT_DIR$/README.md" afterDir="false" />
<change afterPath="$PROJECT_DIR$/backend/.gitignore" afterDir="false" />
<change afterPath="$PROJECT_DIR$/backend/build.gradle.kts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/backend/gateway/build.gradle.kts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/backend/gateway/src/main/kotlin/com/im/gateway/GatewayApplication.kt" afterDir="false" />
<change afterPath="$PROJECT_DIR$/backend/gateway/src/main/resources/application.yml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/backend/gradle/libs.versions.toml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/backend/gradle/wrapper/gradle-wrapper.jar" afterDir="false" />
<change afterPath="$PROJECT_DIR$/backend/gradle/wrapper/gradle-wrapper.properties" afterDir="false" />
<change afterPath="$PROJECT_DIR$/backend/gradlew" afterDir="false" />
<change afterPath="$PROJECT_DIR$/backend/gradlew.bat" afterDir="false" />
<change afterPath="$PROJECT_DIR$/backend/im-service/build.gradle.kts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/backend/im-service/src/main/kotlin/com/im/imservice/ImServiceApplication.kt" afterDir="false" />
<change afterPath="$PROJECT_DIR$/backend/im-service/src/main/resources/application.yml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/backend/log-service/build.gradle.kts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/backend/log-service/src/main/kotlin/com/im/logservice/LogServiceApplication.kt" afterDir="false" />
<change afterPath="$PROJECT_DIR$/backend/log-service/src/main/resources/application.yml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/backend/settings.gradle.kts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/frontend/.gitignore" afterDir="false" />
<change afterPath="$PROJECT_DIR$/frontend/package.json" afterDir="false" />
<change afterPath="$PROJECT_DIR$/frontend/packages/admin/index.html" afterDir="false" />
<change afterPath="$PROJECT_DIR$/frontend/packages/admin/package.json" afterDir="false" />
<change afterPath="$PROJECT_DIR$/frontend/packages/admin/src/App.vue" afterDir="false" />
<change afterPath="$PROJECT_DIR$/frontend/packages/admin/src/main.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/frontend/packages/admin/src/vite-env.d.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/frontend/packages/admin/tsconfig.app.json" afterDir="false" />
<change afterPath="$PROJECT_DIR$/frontend/packages/admin/tsconfig.json" afterDir="false" />
<change afterPath="$PROJECT_DIR$/frontend/packages/admin/tsconfig.node.json" afterDir="false" />
<change afterPath="$PROJECT_DIR$/frontend/packages/admin/vite.config.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/frontend/packages/app/index.html" afterDir="false" />
<change afterPath="$PROJECT_DIR$/frontend/packages/app/package.json" afterDir="false" />
<change afterPath="$PROJECT_DIR$/frontend/packages/app/src/App.vue" afterDir="false" />
<change afterPath="$PROJECT_DIR$/frontend/packages/app/src/main.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/frontend/packages/app/src/vite-env.d.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/frontend/packages/app/tsconfig.app.json" afterDir="false" />
<change afterPath="$PROJECT_DIR$/frontend/packages/app/tsconfig.json" afterDir="false" />
<change afterPath="$PROJECT_DIR$/frontend/packages/app/tsconfig.node.json" afterDir="false" />
<change afterPath="$PROJECT_DIR$/frontend/packages/app/vite.config.ts" afterDir="false" />
<change afterPath="$PROJECT_DIR$/frontend/pnpm-lock.yaml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/frontend/pnpm-workspace.yaml" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="ExternalProjectsData">
<projectState path="$PROJECT_DIR$/backend">
<ProjectState />
</projectState>
</component>
<component name="ExternalProjectsManager">
<system id="GRADLE">
<state>
<task path="$PROJECT_DIR$/backend">
<activation />
</task>
<projects_view>
<tree_state>
<expand>
<path>
<item name="" type="6a2764b6:ExternalProjectsStructure$RootNode" />
<item name="im-system-backend" type="f1a62948:ProjectNode" />
</path>
<path>
<item name="" type="6a2764b6:ExternalProjectsStructure$RootNode" />
<item name="im-system-backend" type="f1a62948:ProjectNode" />
<item name="gateway" type="2d1252cf:ModuleNode" />
</path>
<path>
<item name="" type="6a2764b6:ExternalProjectsStructure$RootNode" />
<item name="im-system-backend" type="f1a62948:ProjectNode" />
<item name="gateway" type="2d1252cf:ModuleNode" />
<item name="Tasks" type="e4a08cd1:TasksNode" />
</path>
<path>
<item name="" type="6a2764b6:ExternalProjectsStructure$RootNode" />
<item name="im-system-backend" type="f1a62948:ProjectNode" />
<item name="gateway" type="2d1252cf:ModuleNode" />
<item name="Tasks" type="e4a08cd1:TasksNode" />
<item name="application" type="c8890929:TasksNode$1" />
</path>
</expand>
<select />
</tree_state>
</projects_view>
</state>
</system>
</component>
<component name="FileTemplateManagerImpl">
<option name="RECENT_TEMPLATES">
<list>
<option value="Kotlin Script" />
</list>
</option>
</component>
<component name="Git.Settings">
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
</component>
<component name="ProjectColorInfo">{
&quot;associatedIndex&quot;: 6,
&quot;fromUser&quot;: false
}</component>
<component name="ProjectId" id="3HUP9gfpf25hhJj8AmooeNmmmPK" />
<component name="ProjectViewState">
<option name="hideEmptyMiddlePackages" value="true" />
<option name="showLibraryContents" value="true" />
</component>
<component name="PropertiesComponent"><![CDATA[{
"keyToString": {
"Gradle.backend [:gateway:bootRun].executor": "Run",
"Gradle.backend [:gateway:build].executor": "Run",
"Gradle.backend [bootJar].executor": "Run",
"ModuleVcsDetector.initialDetectionPerformed": "true",
"RunOnceActivity.ShowReadmeOnStart": "true",
"RunOnceActivity.git.unshallow": "true",
"RunOnceActivity.typescript.service.memoryLimit.init": "true",
"codeWithMe.voiceChat.enabledByDefault": "false",
"git-widget-placeholder": "main",
"kotlin-language-version-configured": "true",
"node.js.detected.package.eslint": "true",
"node.js.detected.package.jshint": "true",
"node.js.detected.package.tslint": "true",
"node.js.selected.package.eslint": "(autodetect)",
"node.js.selected.package.jshint": "",
"node.js.selected.package.tslint": "(autodetect)",
"nodejs_package_manager_path": "npm",
"project.structure.last.edited": "项目",
"project.structure.proportion": "0.15",
"project.structure.side.proportion": "0.2",
"run.configurations.included.in.services": "true",
"settings.editor.selected.configurable": "preferences.pluginManager"
}
}]]></component>
<component name="RunDashboard">
<option name="configurationTypes">
<set>
<option value="KtorApplicationConfigurationType" />
<option value="MicronautRunConfigurationType" />
<option value="QuarkusRunConfigurationType" />
<option value="SpringBootApplicationConfigurationType" />
</set>
</option>
</component>
<component name="SharedIndexes">
<attachedChunks>
<set>
<option value="bundled-jdk-30f59d01ecdd-63390994e64e-intellij.indexing.shared.core-IU-262.8665.337" />
<option value="bundled-js-predefined-d6986cc7102b-4abd2a77f808-JavaScript-IU-262.8665.337" />
</set>
</attachedChunks>
</component>
<component name="TaskManager">
<task active="true" id="Default" summary="默认任务">
<changelist id="e6d31489-464a-4590-aa96-6d15ebe73076" name="更改" comment="" />
<created>1766457182447</created>
<option name="number" value="Default" />
<option name="presentableId" value="Default" />
<updated>1766457182447</updated>
</task>
<servers />
</component>
<component name="TypeScriptGeneratedFilesManager">
<option name="version" value="3" />
</component>
</project>