Skip to content

LDNVN86/SenoDownload-FE

Repository files navigation

🎬 SenoDownload Frontend

Giao diện người dùng hiện đại cho ứng dụng tải video từ YouTube, TikTok và nhiều nguồn khác.

Next.js TypeScript Tailwind CSS License


✨ Tính năng

Tính năng Mô tả
🚀 Skeleton Loading Hiệu ứng tải mượt mà, không đứng hình
🔄 Smart Cancel Tự động hủy request cũ khi dán link mới
🛡️ Cloudflare Turnstile Xác thực captcha vô hình, không cần chọn hình
🌓 Dark/Light Mode Hỗ trợ cả 2 chế độ, theo hệ thống hoặc tùy chọn
📊 Real-time Progress Hiển thị tiến trình tải với tốc độ, dung lượng và ETA
🔒 Download Guard Ngăn tải chồng chéo nhiều file cùng lúc

🛠️ Tech Stack

  • Framework: Next.js 15 (App Router)
  • Styling: Tailwind CSS + Radix UI
  • Icons: Lucide Icons + React Icons
  • Captcha: @marsidev/react-turnstile
  • Notifications: Sonner (Toast)
  • Language: TypeScript 5.x

🚀 Quick Start

1. Cài đặt dependencies

npm install

2. Cấu hình environment

Tạo file .env.local:

NEXT_PUBLIC_URL=http://localhost:8081
NEXT_PUBLIC_TURNSTILE_SITE_KEY=1x00000000000000000000AA

3. Chạy development server

npm run dev

Truy cập http://localhost:3000 để sử dụng.


📁 Cấu trúc thư mục

src/
├── app/                # Next.js App Router pages
├── components/
│   ├── listFormats/    # Components hiển thị danh sách định dạng
│   └── ui/             # Shared UI components (Progress, Skeleton...)
├── lib/
│   └── api/            # API utilities và fetch functions
└── types/              # TypeScript type definitions

🔄 User Flow

Dán link → Skeleton Loading → Hiện thông tin video
    ↓
Chọn định dạng → Turnstile verify (auto) → Download
    ↓
Real-time Progress (Speed, Size, ETA) → File saved!

📝 License

MIT License - Xem file LICENSE để biết thêm chi tiết.