A file-sharing application built with Next.js.
Users can upload and organize files and folders, generate sharing links, and manage their uploaded files. Anonymous file uploads are supported through guest sessions.
- Next.js
- React
- TypeScript
- SCSS Modules
- PostgreSQL
- Prisma
npm installCreate a .env file in the project root:
DATABASE_URL="postgresql://USER@localhost:5432/elsewhere"Generate Prisma Client:
npm run db:generateApply database migrations:
npm run db:migratenpm run devOpen http://localhost:3000 in your browser.
The application uses PostgreSQL with Prisma ORM.
Current core entities:
User— registered or anonymous userFolder— user-owned collection of filesFile— metadata for an uploaded file
Uploaded file contents are not stored directly in PostgreSQL. The database stores file metadata and references to external file storage.
Work in progress.