Coding
PromptBeginner5 minmarkdown
Nano Banana Pro
Agent skill for nano-banana-pro
6
Tài liệu này cung cấp hướng dẫn cho GitHub Copilot khi hỗ trợ với dự án Nền Tảng Giao Dịch.
Sign in to like and favorite skills
Tài liệu này cung cấp hướng dẫn cho GitHub Copilot khi hỗ trợ với dự án Nền Tảng Giao Dịch.
Đây là ứng dụng Next.js 15 với App Router, hoạt động như một nền tảng giao dịch toàn diện. Nó giúp các nhà giao dịch theo dõi, phân tích và cải thiện hiệu suất giao dịch của họ thông qua nhật ký, phân tích và quản lý chiến lược.
Tổ Chức Component:
/src/components/ui//src/components/trade//src/components/layout/Sử Dụng Context:
AuthContextTradeContextJournalContextPlaybookContextLanguageContextAPI Routes:
/src/app/api/Cơ sở dữ liệu Supabase bao gồm các bảng chính sau:
users: Thông tin xác thực và hồ sơ người dùngtrades: Bản ghi giao dịch cá nhân với các chỉ số hiệu suấtjournals: Mục nhập nhật ký của nhà giao dịch để phản ánh và ghi chúplaybooks: Chiến lược giao dịch và bộ quy tắcassets: Thông tin về các công cụ giao dịchKhi hỗ trợ với mã nguồn này, ưu tiên:
/src/lib/supabase.ts/src/components/ui/Khi đề xuất mã cho dự án này, hãy tuân theo các mẫu sau:
// Ví dụ về tìm nạp dữ liệu giao dịch import { useQuery } from '@tanstack/react-query'; import supabase from '@/lib/supabase'; const fetchTrades = async () => { const { data, error } = await supabase .from('trades') .select('*') .order('created_at', { ascending: false }); if (error) throw error; return data; }; export function useTrades() { return useQuery({ queryKey: ['trades'], queryFn: fetchTrades, }); }
// Ví dụ mẫu form sử dụng React Hook Form + Zod import { useForm } from 'react-hook-form'; import { zodResolver } from '@hookform/resolvers/zod'; import { z } from 'zod'; const tradeSchema = z.object({ symbol: z.string().min(1, 'Symbol là bắt buộc'), entryPrice: z.number().positive('Giá vào lệnh phải là số dương'), exitPrice: z.number().positive('Giá ra lệnh phải là số dương'), // Thêm các trường khác nếu cần }); type TradeFormValues = z.infer<typeof tradeSchema>; export function TradeForm() { const form = useForm<TradeFormValues>({ resolver: zodResolver(tradeSchema), defaultValues: { symbol: '', entryPrice: 0, exitPrice: 0, }, }); // Logic xử lý form }
TradeForm.tsx)trade-utils.ts)TradeContext.tsx)useTradeData.ts)