Files
PrivyDrop/frontend
david_bai 8ef43029d5 fix(deploy+docker+frontend): enforce same-origin via Nginx, disable Next Image optimization in Docker, allow Socket.IO polling fallback, and improve health checks and access info
- generate-config.sh: add --with-nginx flag handling; when enabled, set NEXT_PUBLIC_API_URL empty to use same-origin /api and /socket.io; add BACKEND_INTERNAL_URL for SSR/internal fetch; adjust lan-tls HTTPS (8443) and TLS generation policy
- deploy.sh: show only valid access URLs when Nginx is enabled (gateway URLs), avoid misleading :3002/:3001 entries
- frontend (env/webrtc): return mutable transports [websocket,polling]; use empty signaling server for same-origin; comments in English
- frontend (next.config): support NEXT_IMAGE_UNOPTIMIZED to turn off image optimization in Docker
- frontend (health): prefer BACKEND_INTERNAL_URL for internal health checks, fallback to public URL/localhost
- docker-compose + Dockerfile(frontend): pass NEXT_IMAGE_UNOPTIMIZED and BACKEND_INTERNAL_URL envs
2025-10-10 20:49:17 +08:00
..
2025-06-22 21:34:54 +08:00
2025-06-20 20:54:42 +08:00
2025-06-20 20:54:42 +08:00
2025-06-22 10:13:47 +08:00
2025-06-20 20:54:42 +08:00
2025-06-20 20:54:42 +08:00

PrivyDrop - Frontend

This is the frontend for PrivyDrop, a privacy-focused file sharing application built with Next.js and based on WebRTC.

🛠️ Tech Stack

  • Frontend Framework: Next.js 14 (App Router)
  • UI Framework: React 18 + TypeScript
  • Styling: Tailwind CSS + shadcn/ui
  • P2P Transport: WebRTC
  • Signaling Service Client: Socket.IO Client
  • Internationalization: next-intl

🚀 Local Development

Before you start, please ensure you have installed and started the backend service according to the instructions in the project's root README.md.

  1. Navigate to the Directory

    # Assuming you are in the project's root directory
    cd frontend
    
  2. Install Dependencies

    pnpm install
    
  3. Configure Environment Variables First, copy the environment variable configuration from the template file:

    cp .env_development_example .env.development
    

    Then, open and edit the .env.development file, ensuring that NEXT_PUBLIC_API_URL points to your locally running backend service.

  4. Start the Development Server

    pnpm dev
    
  5. Open http://localhost:3002 in your browser to see the application.

📚 Detailed Documentation

🤝 Contributing

We welcome all forms of contributions! Please read the Contribution Guidelines in the root directory to get started.