AKMESSI commited on
Commit
5b0d814
·
verified ·
1 Parent(s): 7fadbe5

Upload 12 files

Browse files
README.md CHANGED
@@ -1,14 +1,73 @@
1
- ---
2
- title: Ai Ml Mastery
3
- emoji: 📊
4
- colorFrom: pink
5
- colorTo: gray
6
- sdk: gradio
7
- sdk_version: 6.4.0
8
- app_file: app.py
9
- pinned: false
10
- license: mit
11
- short_description: a roadmap to master AI/ML from scratch
12
- ---
13
-
14
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # React + TypeScript + Vite
2
+
3
+ This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
4
+
5
+ Currently, two official plugins are available:
6
+
7
+ - [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Babel](https://babeljs.io/) (or [oxc](https://oxc.rs) when used in [rolldown-vite](https://vite.dev/guide/rolldown)) for Fast Refresh
8
+ - [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh
9
+
10
+ ## React Compiler
11
+
12
+ The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see [this documentation](https://react.dev/learn/react-compiler/installation).
13
+
14
+ ## Expanding the ESLint configuration
15
+
16
+ If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules:
17
+
18
+ ```js
19
+ export default defineConfig([
20
+ globalIgnores(['dist']),
21
+ {
22
+ files: ['**/*.{ts,tsx}'],
23
+ extends: [
24
+ // Other configs...
25
+
26
+ // Remove tseslint.configs.recommended and replace with this
27
+ tseslint.configs.recommendedTypeChecked,
28
+ // Alternatively, use this for stricter rules
29
+ tseslint.configs.strictTypeChecked,
30
+ // Optionally, add this for stylistic rules
31
+ tseslint.configs.stylisticTypeChecked,
32
+
33
+ // Other configs...
34
+ ],
35
+ languageOptions: {
36
+ parserOptions: {
37
+ project: ['./tsconfig.node.json', './tsconfig.app.json'],
38
+ tsconfigRootDir: import.meta.dirname,
39
+ },
40
+ // other options...
41
+ },
42
+ },
43
+ ])
44
+ ```
45
+
46
+ You can also install [eslint-plugin-react-x](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-x) and [eslint-plugin-react-dom](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-dom) for React-specific lint rules:
47
+
48
+ ```js
49
+ // eslint.config.js
50
+ import reactX from 'eslint-plugin-react-x'
51
+ import reactDom from 'eslint-plugin-react-dom'
52
+
53
+ export default defineConfig([
54
+ globalIgnores(['dist']),
55
+ {
56
+ files: ['**/*.{ts,tsx}'],
57
+ extends: [
58
+ // Other configs...
59
+ // Enable lint rules for React
60
+ reactX.configs['recommended-typescript'],
61
+ // Enable lint rules for React DOM
62
+ reactDom.configs.recommended,
63
+ ],
64
+ languageOptions: {
65
+ parserOptions: {
66
+ project: ['./tsconfig.node.json', './tsconfig.app.json'],
67
+ tsconfigRootDir: import.meta.dirname,
68
+ },
69
+ // other options...
70
+ },
71
+ },
72
+ ])
73
+ ```
components.json ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "$schema": "https://ui.shadcn.com/schema.json",
3
+ "style": "new-york",
4
+ "rsc": false,
5
+ "tsx": true,
6
+ "tailwind": {
7
+ "config": "postcss.config.js",
8
+ "css": "src/index.css",
9
+ "baseColor": "slate",
10
+ "cssVariables": true,
11
+ "prefix": ""
12
+ },
13
+ "iconLibrary": "lucide",
14
+ "aliases": {
15
+ "components": "@/components",
16
+ "utils": "@/lib/utils",
17
+ "ui": "@/components/ui",
18
+ "lib": "@/lib",
19
+ "hooks": "@/hooks"
20
+ },
21
+ "registries": {}
22
+ }
eslint.config.js ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import js from '@eslint/js'
2
+ import globals from 'globals'
3
+ import reactHooks from 'eslint-plugin-react-hooks'
4
+ import reactRefresh from 'eslint-plugin-react-refresh'
5
+ import tseslint from 'typescript-eslint'
6
+ import { defineConfig, globalIgnores } from 'eslint/config'
7
+
8
+ export default defineConfig([
9
+ globalIgnores(['dist']),
10
+ {
11
+ files: ['**/*.{ts,tsx}'],
12
+ extends: [
13
+ js.configs.recommended,
14
+ tseslint.configs.recommended,
15
+ reactHooks.configs.flat.recommended,
16
+ reactRefresh.configs.vite,
17
+ ],
18
+ languageOptions: {
19
+ ecmaVersion: 2020,
20
+ globals: globals.browser,
21
+ },
22
+ },
23
+ ])
index.html ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <title>AI/ML Mastery Roadmap</title>
7
+ </head>
8
+ <body>
9
+ <div id="root"></div>
10
+ <script type="module" src="/src/main.tsx"></script>
11
+ </body>
12
+ </html>
package-lock.json ADDED
The diff for this file is too large to render. See raw diff
 
package.json ADDED
@@ -0,0 +1,84 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "my-app",
3
+ "private": true,
4
+ "version": "0.0.0",
5
+ "type": "module",
6
+ "scripts": {
7
+ "dev": "vite",
8
+ "build": "tsc -b && vite build",
9
+ "lint": "eslint .",
10
+ "preview": "vite preview"
11
+ },
12
+ "dependencies": {
13
+ "@gsap/react": "^2.1.2",
14
+ "@hookform/resolvers": "^5.2.2",
15
+ "@radix-ui/react-accordion": "^1.2.12",
16
+ "@radix-ui/react-alert-dialog": "^1.1.15",
17
+ "@radix-ui/react-aspect-ratio": "^1.1.8",
18
+ "@radix-ui/react-avatar": "^1.1.11",
19
+ "@radix-ui/react-checkbox": "^1.3.3",
20
+ "@radix-ui/react-collapsible": "^1.1.12",
21
+ "@radix-ui/react-context-menu": "^2.2.16",
22
+ "@radix-ui/react-dialog": "^1.1.15",
23
+ "@radix-ui/react-dropdown-menu": "^2.1.16",
24
+ "@radix-ui/react-hover-card": "^1.1.15",
25
+ "@radix-ui/react-label": "^2.1.8",
26
+ "@radix-ui/react-menubar": "^1.1.16",
27
+ "@radix-ui/react-navigation-menu": "^1.2.14",
28
+ "@radix-ui/react-popover": "^1.1.15",
29
+ "@radix-ui/react-progress": "^1.1.8",
30
+ "@radix-ui/react-radio-group": "^1.3.8",
31
+ "@radix-ui/react-scroll-area": "^1.2.10",
32
+ "@radix-ui/react-select": "^2.2.6",
33
+ "@radix-ui/react-separator": "^1.1.8",
34
+ "@radix-ui/react-slider": "^1.3.6",
35
+ "@radix-ui/react-slot": "^1.2.4",
36
+ "@radix-ui/react-switch": "^1.2.6",
37
+ "@radix-ui/react-tabs": "^1.1.13",
38
+ "@radix-ui/react-toggle": "^1.1.10",
39
+ "@radix-ui/react-toggle-group": "^1.1.11",
40
+ "@radix-ui/react-tooltip": "^1.2.8",
41
+ "canvas-confetti": "^1.9.4",
42
+ "class-variance-authority": "^0.7.1",
43
+ "clsx": "^2.1.1",
44
+ "cmdk": "^1.1.1",
45
+ "date-fns": "^4.1.0",
46
+ "embla-carousel-react": "^8.6.0",
47
+ "gsap": "^3.14.2",
48
+ "input-otp": "^1.4.2",
49
+ "lucide-react": "^0.562.0",
50
+ "next-themes": "^0.4.6",
51
+ "react": "^19.2.0",
52
+ "react-day-picker": "^9.13.0",
53
+ "react-dom": "^19.2.0",
54
+ "react-hook-form": "^7.70.0",
55
+ "react-resizable-panels": "^4.2.2",
56
+ "recharts": "^2.15.4",
57
+ "sonner": "^2.0.7",
58
+ "tailwind-merge": "^3.4.0",
59
+ "vaul": "^1.1.2",
60
+ "zod": "^4.3.5",
61
+ "zustand": "^5.0.10"
62
+ },
63
+ "devDependencies": {
64
+ "@eslint/js": "^9.39.1",
65
+ "@types/canvas-confetti": "^1.9.0",
66
+ "@types/node": "^24.10.1",
67
+ "@types/react": "^19.2.5",
68
+ "@types/react-dom": "^19.2.3",
69
+ "@vitejs/plugin-react": "^5.1.1",
70
+ "autoprefixer": "^10.4.23",
71
+ "eslint": "^9.39.1",
72
+ "eslint-plugin-react-hooks": "^7.0.1",
73
+ "eslint-plugin-react-refresh": "^0.4.24",
74
+ "globals": "^16.5.0",
75
+ "kimi-plugin-inspect-react": "^1.0.3",
76
+ "postcss": "^8.5.6",
77
+ "tailwindcss": "^3.4.19",
78
+ "tailwindcss-animate": "^1.0.7",
79
+ "tw-animate-css": "^1.4.0",
80
+ "typescript": "~5.9.3",
81
+ "typescript-eslint": "^8.46.4",
82
+ "vite": "^7.2.4"
83
+ }
84
+ }
postcss.config.js ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ export default {
2
+ plugins: {
3
+ tailwindcss: {},
4
+ autoprefixer: {},
5
+ },
6
+ }
tailwind.config.js ADDED
@@ -0,0 +1,131 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /** @type {import('tailwindcss').Config} */
2
+ module.exports = {
3
+ darkMode: ["class"],
4
+ content: ['./index.html', './src/**/*.{js,ts,jsx,tsx}'],
5
+ theme: {
6
+ extend: {
7
+ colors: {
8
+ border: "hsl(var(--border))",
9
+ input: "hsl(var(--input))",
10
+ ring: "hsl(var(--ring))",
11
+ background: "hsl(var(--background))",
12
+ foreground: "hsl(var(--foreground))",
13
+ primary: {
14
+ DEFAULT: "hsl(var(--primary))",
15
+ foreground: "hsl(var(--primary-foreground))",
16
+ },
17
+ secondary: {
18
+ DEFAULT: "hsl(var(--secondary))",
19
+ foreground: "hsl(var(--secondary-foreground))",
20
+ },
21
+ destructive: {
22
+ DEFAULT: "hsl(var(--destructive) / <alpha-value>)",
23
+ foreground: "hsl(var(--destructive-foreground) / <alpha-value>)",
24
+ },
25
+ muted: {
26
+ DEFAULT: "hsl(var(--muted))",
27
+ foreground: "hsl(var(--muted-foreground))",
28
+ },
29
+ accent: {
30
+ DEFAULT: "hsl(var(--accent))",
31
+ foreground: "hsl(var(--accent-foreground))",
32
+ },
33
+ popover: {
34
+ DEFAULT: "hsl(var(--popover))",
35
+ foreground: "hsl(var(--popover-foreground))",
36
+ },
37
+ card: {
38
+ DEFAULT: "hsl(var(--card))",
39
+ foreground: "hsl(var(--card-foreground))",
40
+ },
41
+ // Stage Colors
42
+ stage: {
43
+ 1: "#00E0FF",
44
+ 2: "#2DFF8C",
45
+ 3: "#7B61FF",
46
+ 4: "#FF2D8C",
47
+ 5: "#FFD600",
48
+ },
49
+ navy: {
50
+ 900: "#070A12",
51
+ 800: "#0B0F1C",
52
+ 700: "#111827",
53
+ },
54
+ violet: {
55
+ DEFAULT: "#7B61FF",
56
+ light: "#A78BFF",
57
+ dark: "#6344FF",
58
+ },
59
+ },
60
+ fontFamily: {
61
+ sans: ['Inter', 'system-ui', 'sans-serif'],
62
+ display: ['Space Grotesk', 'system-ui', 'sans-serif'],
63
+ mono: ['IBM Plex Mono', 'monospace'],
64
+ },
65
+ fontSize: {
66
+ 'display-1': ['clamp(44px, 6vw, 84px)', { lineHeight: '0.95', letterSpacing: '-0.02em' }],
67
+ 'display-2': ['clamp(34px, 4.2vw, 64px)', { lineHeight: '1.0', letterSpacing: '-0.02em' }],
68
+ 'display-3': ['clamp(28px, 3vw, 48px)', { lineHeight: '1.1', letterSpacing: '-0.01em' }],
69
+ },
70
+ borderRadius: {
71
+ '2xl': '22px',
72
+ xl: "calc(var(--radius) + 4px)",
73
+ lg: "var(--radius)",
74
+ md: "calc(var(--radius) - 2px)",
75
+ sm: "calc(var(--radius) - 4px)",
76
+ xs: "calc(var(--radius) - 6px)",
77
+ },
78
+ boxShadow: {
79
+ xs: "0 1px 2px 0 rgb(0 0 0 / 0.05)",
80
+ glow: "0 0 40px rgba(123, 97, 255, 0.25)",
81
+ 'glow-cyan': "0 0 40px rgba(0, 224, 255, 0.25)",
82
+ 'glow-green': "0 0 40px rgba(45, 255, 140, 0.25)",
83
+ 'glow-pink': "0 0 40px rgba(255, 45, 140, 0.25)",
84
+ 'glow-gold': "0 0 40px rgba(255, 214, 0, 0.25)",
85
+ },
86
+ keyframes: {
87
+ "accordion-down": {
88
+ from: { height: "0" },
89
+ to: { height: "var(--radix-accordion-content-height)" },
90
+ },
91
+ "accordion-up": {
92
+ from: { height: "var(--radix-accordion-content-height)" },
93
+ to: { height: "0" },
94
+ },
95
+ "caret-blink": {
96
+ "0%,70%,100%": { opacity: "1" },
97
+ "20%,50%": { opacity: "0" },
98
+ },
99
+ "float": {
100
+ "0%, 100%": { transform: "translateY(0px)" },
101
+ "50%": { transform: "translateY(-8px)" },
102
+ },
103
+ "pulse-glow": {
104
+ "0%, 100%": { opacity: "0.6" },
105
+ "50%": { opacity: "1" },
106
+ },
107
+ "rotate-slow": {
108
+ from: { transform: "rotate(0deg)" },
109
+ to: { transform: "rotate(360deg)" },
110
+ },
111
+ "shimmer": {
112
+ "0%": { backgroundPosition: "-200% 0" },
113
+ "100%": { backgroundPosition: "200% 0" },
114
+ },
115
+ },
116
+ animation: {
117
+ "accordion-down": "accordion-down 0.2s ease-out",
118
+ "accordion-up": "accordion-up 0.2s ease-out",
119
+ "caret-blink": "caret-blink 1.25s ease-out infinite",
120
+ "float": "float 4s ease-in-out infinite",
121
+ "pulse-glow": "pulse-glow 3s ease-in-out infinite",
122
+ "rotate-slow": "rotate-slow 20s linear infinite",
123
+ "shimmer": "shimmer 2s linear infinite",
124
+ },
125
+ backdropBlur: {
126
+ xs: '2px',
127
+ },
128
+ },
129
+ },
130
+ plugins: [require("tailwindcss-animate")],
131
+ }
tsconfig.app.json ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "compilerOptions": {
3
+ "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
4
+ "target": "ES2022",
5
+ "useDefineForClassFields": true,
6
+ "lib": ["ES2022", "DOM", "DOM.Iterable"],
7
+ "module": "ESNext",
8
+ "types": ["vite/client"],
9
+ "skipLibCheck": true,
10
+
11
+ "baseUrl": ".",
12
+ "paths": {
13
+ "@/*": [
14
+ "./src/*"
15
+ ]
16
+ },
17
+ /* Bundler mode */
18
+ "moduleResolution": "bundler",
19
+ "allowImportingTsExtensions": true,
20
+ "verbatimModuleSyntax": true,
21
+ "moduleDetection": "force",
22
+ "noEmit": true,
23
+ "jsx": "react-jsx",
24
+
25
+ /* Linting */
26
+ "strict": true,
27
+ "noUnusedLocals": true,
28
+ "noUnusedParameters": true,
29
+ "erasableSyntaxOnly": true,
30
+ "noFallthroughCasesInSwitch": true,
31
+ "noUncheckedSideEffectImports": true
32
+ },
33
+ "include": ["src"]
34
+ }
tsconfig.json ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "files": [],
3
+ "references": [
4
+ {
5
+ "path": "./tsconfig.app.json"
6
+ },
7
+ {
8
+ "path": "./tsconfig.node.json"
9
+ }
10
+ ],
11
+ "compilerOptions": {
12
+ "baseUrl": ".",
13
+ "paths": {
14
+ "@/*": ["./src/*"]
15
+ }
16
+ }
17
+ }
tsconfig.node.json ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "compilerOptions": {
3
+ "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo",
4
+ "target": "ES2023",
5
+ "lib": ["ES2023"],
6
+ "module": "ESNext",
7
+ "types": ["node"],
8
+ "skipLibCheck": true,
9
+
10
+ /* Bundler mode */
11
+ "moduleResolution": "bundler",
12
+ "allowImportingTsExtensions": true,
13
+ "verbatimModuleSyntax": true,
14
+ "moduleDetection": "force",
15
+ "noEmit": true,
16
+
17
+ /* Linting */
18
+ "strict": true,
19
+ "noUnusedLocals": true,
20
+ "noUnusedParameters": true,
21
+ "erasableSyntaxOnly": true,
22
+ "noFallthroughCasesInSwitch": true,
23
+ "noUncheckedSideEffectImports": true
24
+ },
25
+ "include": ["vite.config.ts"]
26
+ }
vite.config.ts ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import path from "path"
2
+ import react from "@vitejs/plugin-react"
3
+ import { defineConfig } from "vite"
4
+ import { inspectAttr } from 'kimi-plugin-inspect-react'
5
+
6
+ // https://vite.dev/config/
7
+ export default defineConfig({
8
+ base: './',
9
+ plugins: [inspectAttr(), react()],
10
+ resolve: {
11
+ alias: {
12
+ "@": path.resolve(__dirname, "./src"),
13
+ },
14
+ },
15
+ });