A simple, modern web app for transferring files from anywhere. Upload a file, get a 4-digit PIN and QR code, and download the file from any device using the PIN or QR code. Built with FastAPI (backend) and React (frontend).
- Upload any file and get a unique 4-digit PIN and QR code for download
- Download files using the PIN or by scanning the QR code
- Files expire after a set time or after a maximum number of downloads
- No login or registration required
- Modern, mobile-friendly UI
- Backend: FastAPI, Uvicorn, Python
- Frontend: React, Vite
- Other: SQLAlchemy (for future DB support), QRCode, Pillow
- Python 3.8+
- Node.js 18+
git clone <your-repo-url>
cd file-transfercd backend
pip install -r requirements.txt
uvicorn main:app --host 0.0.0.0 --port 8000cd ../frontend
npm install
npm run dev- The frontend will run at http://localhost:5173
- The backend will run at http://localhost:8000
- Open the frontend in your browser.
- Upload a file. You will get a 4-digit PIN and a QR code.
- Share the PIN or QR code with anyone.
- Anyone can enter the PIN or scan the QR code to download the file (until it expires or max downloads is reached).
- The backend CORS settings allow both local development and production frontend URLs.
- To deploy, push your backend to a service like Render, and your frontend to Vercel/Netlify.
- Update the
BACKEND_URLinfrontend/src/App.jsxto your deployed backend URL.
MIT
- UI/UX: Inspired by modern file transfer apps
- Built with ❤️ using FastAPI and React