Skip to content

avanishd-3/file-uploader

Repository files navigation

File-Uploader

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.

Tech Stack

Components

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.

Parsing

Spreadsheets are parsed using SheetJS.

CSVs are parsed using react-papaparse.

Architecture

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.

How do I deploy this?

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.

About

File Uploading Service

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages