Set-and-forget community file uploading service. Deploy at your url, and let others upload and download files.
Supports previews for text, images, PDFs, audio, video, code (with syntax highlighting), CSVs and spreadsheets.
This is a T3 Stack project bootstrapped with create-t3-app.
Most of the components in src/components/ui are from shadcn/ui.
The file dropzone, audio player, and video player were originally from Dice UI.
The item preview component has been removed from the file drop zone (src/components/ui/file-upload.tsx)
The code preview was originally from Kibo UI, and now has an added download button component.
The typewriter effect is from shadcn.io.
Spreadsheets are parsed using SheetJS.
CSVs are parsed using react-papaparse.
PostgreSQL DB stores file and folder metadata, while the files are stored server-side.
The backend is Next.js API routes and Server Actions. The API routes are for handling uploads and downloads, and the server actions are for CRUD operations on DB and parsing spreadsheets.
See src/env.js for required environment variables.
.env.example shows a sample configuration.
Follow these deployment guides for Vercel, Netlify and Docker for more information.