From eff41bd801e11c120f0a9b486d0718f01a02e6bf Mon Sep 17 00:00:00 2001 From: Alex Blank Date: Mon, 11 May 2026 20:28:22 +0200 Subject: [PATCH] chore: setup project structure with dependencies --- backend/requirements.txt | 12 ++++++++++++ frontend/index.html | 13 +++++++++++++ frontend/package.json | 32 ++++++++++++++++++++++++++++++++ frontend/tailwind.config.js | 8 ++++++++ frontend/tsconfig.json | 21 +++++++++++++++++++++ frontend/vite.config.ts | 12 ++++++++++++ 6 files changed, 98 insertions(+) create mode 100644 backend/requirements.txt create mode 100644 frontend/index.html create mode 100644 frontend/package.json create mode 100644 frontend/tailwind.config.js create mode 100644 frontend/tsconfig.json create mode 100644 frontend/vite.config.ts diff --git a/backend/requirements.txt b/backend/requirements.txt new file mode 100644 index 0000000..5c98d1c --- /dev/null +++ b/backend/requirements.txt @@ -0,0 +1,12 @@ +fastapi==0.109.0 +uvicorn[standard]==0.27.0 +sqlalchemy[asyncio]==2.0.25 +aiosqlite==0.19.0 +alembic==1.13.1 +pydantic==2.5.3 +pydantic-settings==2.1.0 +apscheduler==3.10.4 +paramiko==3.4.0 +pytest==7.4.4 +pytest-asyncio==0.21.1 +httpx==0.26.0 \ No newline at end of file diff --git a/frontend/index.html b/frontend/index.html new file mode 100644 index 0000000..bd95874 --- /dev/null +++ b/frontend/index.html @@ -0,0 +1,13 @@ + + + + + + + Backup Tool + + +
+ + + diff --git a/frontend/package.json b/frontend/package.json new file mode 100644 index 0000000..6ca6f62 --- /dev/null +++ b/frontend/package.json @@ -0,0 +1,32 @@ +{ + "name": "backup-tool-frontend", + "private": true, + "version": "0.0.1", + "type": "module", + "scripts": { + "dev": "vite", + "build": "tsc && vite build", + "preview": "vite preview" + }, + "dependencies": { + "react": "^18.2.0", + "react-dom": "^18.2.0", + "react-router-dom": "^6.21.0", + "@tanstack/react-query": "^5.17.0", + "axios": "^1.6.5", + "react-hook-form": "^7.49.0", + "recharts": "^2.10.0", + "lucide-react": "^0.303.0", + "clsx": "^2.1.0" + }, + "devDependencies": { + "@types/react": "^18.2.43", + "@types/react-dom": "^18.2.17", + "@vitejs/plugin-react": "^4.2.1", + "autoprefixer": "^10.4.16", + "postcss": "^8.4.32", + "tailwindcss": "^3.4.0", + "typescript": "^5.2.2", + "vite": "^5.0.8" + } +} diff --git a/frontend/tailwind.config.js b/frontend/tailwind.config.js new file mode 100644 index 0000000..38302b3 --- /dev/null +++ b/frontend/tailwind.config.js @@ -0,0 +1,8 @@ +/** @type {import('tailwindcss').Config} */ +export default { + content: ["./index.html", "./src/**/*.{js,ts,jsx,tsx}"], + theme: { + extend: {}, + }, + plugins: [], +} diff --git a/frontend/tsconfig.json b/frontend/tsconfig.json new file mode 100644 index 0000000..3934b8f --- /dev/null +++ b/frontend/tsconfig.json @@ -0,0 +1,21 @@ +{ + "compilerOptions": { + "target": "ES2020", + "useDefineForClassFields": true, + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "module": "ESNext", + "skipLibCheck": true, + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx", + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true + }, + "include": ["src"], + "references": [{ "path": "./tsconfig.node.json" }] +} diff --git a/frontend/vite.config.ts b/frontend/vite.config.ts new file mode 100644 index 0000000..bbd2a4e --- /dev/null +++ b/frontend/vite.config.ts @@ -0,0 +1,12 @@ +import { defineConfig } from 'vite' +import react from '@vitejs/plugin-react' + +export default defineConfig({ + plugins: [react()], + server: { + port: 3000, + proxy: { + '/api': 'http://localhost:8000' + } + } +})