lotus-outlook-6/gadiinfo-web

GitHub: lotus-outlook-6/gadiinfo-web

一款基于 React 和 Express 的全栈车辆信息查询平台,支持通过车牌号检索结构化车辆数据,并利用 Gemini AI 预测脱敏车主姓名。

Stars: 0 | Forks: 0

GadiInfo Logo

GadiInfo

Advanced AI-Powered Vehicle Intelligence Gathering & Neural Unmasking Platform

Live Demo GitHub Repository Status

React TypeScript Vite Tailwind CSS Node.js Firebase Google Gemini Render

## 概述 **GadiInfo** 是一款全栈企业级车辆情报收集应用,采用高对比度的赛博朋克美学和现代玻璃拟态(glassmorphism)UI 设计。它允许已认证的用户输入车辆注册号(例如 `AS01AB1234` 或 `MH01AB1234`),并立即接收全面、结构化的车辆记录——包括注册日期、有效性、位置、燃料类型和保险详情。 除了原始记录外,GadiInfo 还将 **Google Gemini 3.5 Flash** 直接集成到其 Express 服务器架构中,以执行 **神经网络车主姓名预测**,利用统计人口统计学模型、区域语音频率和长度限制,重构被掩码的注册姓名(`A**********A` -> `Ankur Barua`)。 ## 视觉界面与亮点 以下实时截图展示了 GadiInfo 的高对比度扫描仪仪表板、神经姓名预测引擎和实时 AI 连接界面。
车辆扫描仪与情报卡片

显示结构化注册数据的车辆扫描仪表板
简洁、高对比度的网格扫描界面,显示 AS01AB1234 的结构化车辆详情。

AI 神经网络脱敏解除

AI 神经网络脱敏解除加载中
在与 Gemini Flash 服务器建立神经连接时提供实时加载反馈。

神经车主姓名预测

神经姓名预测模态框
由 Gemini 3.5 Flash 驱动的统计候选脱敏解除,从掩码输入中预测出 Ankur Barua。
## 核心功能与 UI 设计 ### 1. 霓虹赛博朋克与玻璃拟态美学 - **视觉识别**:采用精心设计的深色主题(`#08060d`)、复古网格背景图案和充满活力的霓虹紫/粉色渐变(`#863bff`,`#7e14ff`)。 - **玻璃拟态组件**:高耐用性半透明卡片,具有细微的边框、平滑的过渡效果,并能对用户交互做出动态响应的微动画。 ### 2. 车辆扫描仪界面 (`GridScan.tsx`) - **高对比度输入**:居中、无干扰的搜索输入框,允许快速输入注册号并进行即时验证。 - **结构化情报展示**:自动将检索到的数据整理为清晰的视觉区块: - **地址与区域管辖权** (`NH Byepass, Betkuchi, Guwahati, Assam 781035`) - **注册城市与 RTO 代码** (`Guwahati - Kamrup`) - **有效期与注册到期日期** (`24-Oct-2021`) - **燃料规格** (`PETROL` / `DIESEL` / `EV`) - **保险单信息** (`IFFCO Tokio General Insurance Co. Ltd.`, Expiry: `20-Feb-2026`) ### 3. AI 驱动的神经脱敏解除 (`AIModal.tsx`) - **车主姓名重构**:当注册数据返回掩码车主姓名(`A**********A`)时,用户可以启动神经脱敏解除。 - **统计概率候选**:Gemini 引擎分析区域 RTO 人口统计数据、字符长度和可见的首字母缩写,以预测确切姓名以及最佳备选候选人(`Anish Baruah`,`Arindam Deka`,`Abhijit Nath`)。 ### 4. 响应式移动优先架构 - **统一导航 (`AuthHeader.tsx`)**:无缝适应桌面宽屏显示器和紧凑的移动视口,同时显示实时个人资料数据(Google 账户显示名称和头像)。 - **自定义高分辨率品牌标识**:具有定制的多层 SVG logo(具有原生平滑圆角的 `favicon.svg`),可在浏览器标签页和应用程序标头中清晰显示,而无需依赖通用的占位符。 ## 技术架构 ``` graph TD subgraph Client [React 19 + TypeScript + Vite Frontend] UI[GridScan & Glassmorphic UI] AuthUI[AuthHeader Profile] Modal[AIModal Neural Unmasking] end subgraph ExpressServer [Express + Node.js Backend Server] Proxy[/api-lookup API Proxy/] Predict[/api/predict-owner Endpoint/] Static[Express Static Build Serving] end subgraph ExternalServices [External & Cloud Infrastructure] Gemini[Google Gemini 3.5 Flash API] Firebase[Firebase Auth & Firestore DB] Upstream[Upstream Registration API] end UI -->|1. Scan Request RC Token| Proxy AuthUI <-->|2. Google OAuth ID Tokens| Firebase Modal -->|3. POST Masked Name & Metadata| Predict Proxy -->|4. Verify Token & Fetch Data| Upstream Proxy -->|5. Log Daily Scan Stats| Firebase Predict -->|6. Structured Schema Query| Gemini ``` ### 全栈 Node.js + Express 后端 (`server.ts`) 为了实施严格的零信任安全并防止敏感 API 密钥泄露给客户端浏览器,GadiInfo 作为一个内聚的全栈应用程序运行,而不是独立的客户端 SPA: - **API 代理**:所有上游查找请求(`/api-lookup`)和 AI 预测调用(`/api/predict-owner`)都直接通过本地 Express 服务器传递。 - **令牌强制执行 (`enforceLimits`)**:在查询外部服务之前,使用 **Firebase Admin Auth**(`verifyIdToken`)验证传入请求或通过自定义 API 标头进行身份验证。 - **单文件生产包 (`dist/server.cjs`)**:我们统一的构建流水线(`npm run build`)构建 Vite 前端,并通过 `esbuild` 将 Node.js Express 后端打包成一个高度优化的 CommonJS 产物,用于快速冷启动部署。 ### AI 集成 (`Gemini 3.5 Flash`) - **服务器端智能引擎**:与 Google 最新的 `gemini-3.5-flash` 模型进行安全通信。 - **结构化 JSON schema**:实施严格的响应 schema(`responseMimeType: "application/json"`),以确保包含 `predictedName`、`possibleNames` 和 `reasoning` 的干净、确定性的 JSON 对象。 - **密钥隔离**:`GEMINI_API_KEY` 严格存在于服务器环境密钥中,绝不接触客户端包或公共代码库。 ### 数据库与身份验证 (`Firebase`) - **身份验证**:由 Firebase Auth 提供支持,支持 Google OAuth 工作流和安全会话跟踪。 - **Firestore 数据库**:将用户扫描历史和使用指标存储在 `/users/{userId}/daily_stats/{date}` 下。 - **自定义安全规则 (`firestore.rules`)**:严格的文档匹配规则确保用户只能读写自己的情报收集记录。 ## 项目结构 ``` gadiinfo-web/ ├── public/ │ ├── favicon.svg # Bespoke multi-layered SVG logo with rounded corners │ ├── icons.svg # Clean SVG icon sprite sheet │ ├── search-up.png # Dashboard scanner & structured details screenshot │ ├── unmasked name.png # Neural unmasking prediction modal screenshot │ └── unmasking.png # AI connection link loading spinner screenshot ├── src/ │ ├── components/ │ │ ├── GridScan.tsx # Primary vehicle scanner interface & data presentation │ │ ├── AIModal.tsx # Neural unmasking modal & probability candidates │ │ ├── AuthHeader.tsx # Responsive header featuring user profile & sign-in │ │ └── ui/ # Reusable UI primitives & glassmorphic containers │ ├── assets/ # Hero illustrations and static assets │ ├── App.tsx # Application root & state management │ ├── index.css # Tailwind CSS configuration & custom theme tokens │ └── main.tsx # Frontend entry point ├── server.ts # Full-stack Express server, API proxy, and Gemini engine ├── firestore.rules # Firebase Firestore security policies ├── package.json # Unified build scripts (`vite` + `esbuild`) └── tsconfig.json # TypeScript compiler configuration ``` ## 快速开始 ### 前置条件 - **Node.js**:`18.x` 或更高版本 - **npm** 或 **bun**:包管理器 - **Firebase 项目**:配置 Authentication 和 Firestore - **Google Gemini API 密钥**:来自 [Google AI Studio](https://aistudio.google.com/) ### 安装与本地开发 1. **克隆仓库** git clone https://github.com/lotus-outlook-6/gadiinfo-web.git cd gadiinfo-web 2. **安装依赖** npm install 3. **配置环境变量** 复制示例环境文件并填充您的凭据: cp .env.example .env 在 `.env` 中添加您的 Gemini API 密钥: GEMINI_API_KEY=your_gemini_api_key_here 4. **启动开发服务器** 在端口 `3000` 上运行带有 Vite 中间件的全栈服务器: npm run dev 打开浏览器并导航至:`http://localhost:3000` ## 生产构建与部署 ### 本地构建 要验证生产就绪情况或生成自包含的包: ``` npm run build ``` 此命令执行: 1. `vite build`:将所有 React 组件和 CSS 编译并优化到 `dist/` 中。 2. `esbuild server.ts`:将 Express 服务器、依赖项和 Gemini 客户端打包到 `dist/server.cjs` 中。 要在本地运行编译后的生产构建: ``` npm run start ``` ### 云部署 (`Render`) GadiInfo 已预配置并托管在 **Render** 上(`https://gadiinfo-web.onrender.com`): - **构建命令**:`npm run build` - **启动命令**:`npm run start` - **环境变量**:在 Render 仪表板的 **Environment Secrets** 下设置 `GEMINI_API_KEY` 和您的 Firebase 配置。 - **统一端口架构**:Render 自动在端口 `3000`(或平台定义的 `PORT`)上公开 Express 服务器,同时提供 API 端点(`/api/*`)和编译的静态前端(`dist/index.html`)。 ## 安全最佳实践 - **零客户端密钥**:所有第三方 API 密钥(包括 `GEMINI_API_KEY` 和上游查找授权标头)都严格保留在后端 Node.js 进程中。 - **令牌验证**:上游请求在处理昂贵的 API 查找之前,会验证 Firebase Admin JWT 签名。 - **Firestore 规则隔离**:用户无法查询或篡改其指定用户 ID(`request.auth.uid == userId`)之外的扫描指标或历史记录。

lotus_outlook_6 设计与开发

由 React 19, Express, Firebase, 和 Google Gemini 3.5 Flash 提供动力

标签:MITM代理, 自动化攻击