A modern, full-stack file sharing application built with Next.js and InsForge MCP backend. Features user authentication, file upload/download, shareable links, and a beautiful UI built with Shadcn UI.
- 🔐 User Authentication - Sign up, sign in, and user management
- 📁 File Management - Upload, download, and organize files
- 🔗 Shareable Links - Generate public links for file sharing
- 📊 Dashboard - View file statistics and manage uploads
- 🎨 Modern UI - Built with Shadcn UI components
- ⚡ Real-time Updates - Instant file operations
- 🚀 Production Ready - Optimized for Vercel deployment
- Frontend: Next.js 16, React 19, TypeScript
- UI: Shadcn UI, Tailwind CSS
- Backend: InsForge MCP (Database, Storage, Authentication)
- Deployment: Vercel
- Node.js 18+
- npm or yarn
- InsForge MCP backend (already configured)
- Clone the repository:
git clone <repository-url>
cd file-sharing-app- Install dependencies:
npm install- Environment variables are already configured in
.env.local:
NEXT_PUBLIC_INSFORGE_URL=https://3929n3sz.us-east.insforge.app
INSFORGE_API_KEY=ik_88beee058e2960bcc62c828c851f7557
- Run the development server:
npm run dev- Open http://localhost:3000 in your browser.
- Push your code to GitHub
- Connect your repository to Vercel
- Environment variables are already configured in
vercel.json - Deploy!
The app is configured with:
- InsForge backend URL
- API key for authentication
- File storage bucket
- Database schema
The following environment variables are configured:
NEXT_PUBLIC_INSFORGE_URL: InsForge backend URLINSFORGE_API_KEY: API key for backend authentication
The app uses the following database tables:
id: UUID primary keyemail: User emailrole: User rolenickname: Display namebio: User bioavatar_url: Profile picture URL
id: UUID primary keyuser_id: Foreign key to users tablename: Stored filenameoriginal_name: Original filenamesize: File size in bytesmime_type: MIME typestorage_url: InsForge storage URLstorage_key: Storage key for downloadsshare_token: Unique token for sharingis_public: Public/private flagdownload_count: Download countercreated_at: Upload timestampupdated_at: Last update timestamp
- Email/password sign up and sign in
- User profile management
- Secure session handling
- Drag & drop file upload
- File type detection and icons
- File size formatting
- Upload progress tracking
- Generate unique share tokens
- Public/private file visibility
- Share link copying
- Download tracking
- File statistics
- Upload/download history
- File management actions
- Real-time updates
The app uses InsForge MCP for all backend operations:
- Authentication: User sign up, sign in, profile management
- Database: File CRUD operations
- Storage: File upload/download
- Sharing: Public file access
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
This project is licensed under the MIT License.
For support, please open an issue in the repository or contact the development team.