diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 00000000..3729ff0c --- /dev/null +++ b/.dockerignore @@ -0,0 +1,25 @@ +**/.classpath +**/.dockerignore +**/.env +**/.git +**/.gitignore +**/.project +**/.settings +**/.toolstarget +**/.vs +**/.vscode +**/*.*proj.user +**/*.dbmdl +**/*.jfm +**/azds.yaml +**/bin +**/charts +**/docker-compose* +**/Dockerfile* +**/node_modules +**/npm-debug.log +**/obj +**/secrets.dev.yaml +**/values.dev.yaml +LICENSE +README.md \ No newline at end of file diff --git a/.gitignore b/.gitignore index 5fdf4641..2b9dda27 100644 --- a/.gitignore +++ b/.gitignore @@ -1,34 +1,39 @@ -#ignore thumbnails created by windows -Thumbs.db -#Ignore files build by Visual Studio -AssemblyInfo.Version.cs -*.obj -*.exe -*.pdb -*.user -*.aps -*.pch -*.vspscc -*_i.c -*_p.c -*.ncb -*.suo -*.tlb -*.tlh -*.bak -*.cache -*.ilk -*.log -*.nupkg -[Bb]in -[Dd]ebug*/ -[Bb]uild*/ -[Nn]uget*/ -*.lib -*.sbr -obj/ -[Rr]elease*/ -_ReSharper*/ -[Tt]est[Rr]esult* -Output*/ -[Pp]ackages*/ \ No newline at end of file +#ignore thumbnails created by windows +Thumbs.db +#Ignore files build by Visual Studio +AssemblyInfo.Version.cs +*.obj +*.exe +*.pdb +*.user +*.aps +*.pch +*.vspscc +*_i.c +*_p.c +*.ncb +*.suo +*.tlb +*.tlh +*.bak +*.cache +*.ilk +*.log +*.nupkg +[Bb]in +[Dd]ebug*/ +[Bb]uild*/ +[Nn]uget*/ +*.lib +*.sbr +obj/ +[Rr]elease*/ +_ReSharper*/ +[Tt]est[Rr]esult* +Output*/ +[Pp]ackages*/ +/Jackal/Players/Personal/ +.vs/ + +# Rider +.idea/ \ No newline at end of file diff --git a/Front/.env.development b/Front/.env.development new file mode 100644 index 00000000..083c815f --- /dev/null +++ b/Front/.env.development @@ -0,0 +1 @@ +NODE_ENV=development \ No newline at end of file diff --git a/Front/.eslintrc.cjs b/Front/.eslintrc.cjs new file mode 100644 index 00000000..77a8f6a4 --- /dev/null +++ b/Front/.eslintrc.cjs @@ -0,0 +1,22 @@ +module.exports = { + root: true, + env: { browser: true, es2020: true }, + extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended', 'plugin:react-hooks/recommended'], + ignorePatterns: ['dist', '.eslintrc.cjs'], + parser: '@typescript-eslint/parser', + plugins: ['react-refresh'], + rules: { + 'sort-imports': [ + 'warn', + { + ignoreCase: false, + ignoreDeclarationSort: true, + ignoreMemberSort: false, + memberSyntaxSortOrder: ['none', 'all', 'multiple', 'single'], + allowSeparatedGroups: false, + }, + ], + '@typescript-eslint/no-unused-vars': 'off', + 'react-refresh/only-export-components': ['warn', { allowConstantExport: true }], + }, +}; diff --git a/Front/.gitignore b/Front/.gitignore new file mode 100644 index 00000000..a56caf97 --- /dev/null +++ b/Front/.gitignore @@ -0,0 +1,25 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +dev +coverage +*.local + +# Editor directories and files +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/Front/.prettierrc b/Front/.prettierrc new file mode 100644 index 00000000..f7045c81 --- /dev/null +++ b/Front/.prettierrc @@ -0,0 +1,12 @@ +{ + "singleQuote": true, + "bracketSpacing": true, + "trailingComma": "all", + "tabWidth": 4, + "printWidth": 120, + "semi": true, + "importOrder": ["^@core/(.*)$", "^@server/(.*)$", "^@ui/(.*)$", "^[./]"], + "importOrderSeparation": true, + "importOrderSortSpecifiers": true, + "plugins": ["@trivago/prettier-plugin-sort-imports"] +} diff --git a/Front/.vscode/settings.json b/Front/.vscode/settings.json new file mode 100644 index 00000000..d3ae1cf1 --- /dev/null +++ b/Front/.vscode/settings.json @@ -0,0 +1,16 @@ +{ + "breadcrumbs.enabled": false, + "editor.formatOnSave": true, + "prettier.requireConfig": true, + "eslint.enable": true, + "eslint.validate": [], + "editor.defaultFormatter": "esbenp.prettier-vscode", + "eslint.lintTask.options": "", + "eslint.useFlatConfig": false, + "editor.showUnused": false, + "[typescriptreact]": { + "javascript.preferences.importModuleSpecifier": "project-relative", + "typescript.preferences.importModuleSpecifier": "non-relative" + }, + "prettier.tabWidth": 4 +} diff --git a/Front/README.md b/Front/README.md new file mode 100644 index 00000000..0d6babed --- /dev/null +++ b/Front/README.md @@ -0,0 +1,30 @@ +# React + TypeScript + Vite + +This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. + +Currently, two official plugins are available: + +- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh +- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh + +## Expanding the ESLint configuration + +If you are developing a production application, we recommend updating the configuration to enable type aware lint rules: + +- Configure the top-level `parserOptions` property like this: + +```js +export default { + // other rules... + parserOptions: { + ecmaVersion: 'latest', + sourceType: 'module', + project: ['./tsconfig.json', './tsconfig.node.json'], + tsconfigRootDir: __dirname, + }, +} +``` + +- Replace `plugin:@typescript-eslint/recommended` to `plugin:@typescript-eslint/recommended-type-checked` or `plugin:@typescript-eslint/strict-type-checked` +- Optionally add `plugin:@typescript-eslint/stylistic-type-checked` +- Install [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and add `plugin:react/recommended` & `plugin:react/jsx-runtime` to the `extends` list diff --git a/Front/index.html b/Front/index.html new file mode 100644 index 00000000..7f3d9bc3 --- /dev/null +++ b/Front/index.html @@ -0,0 +1,13 @@ + + +
+ + + +