A modern, high-performance Dropbox clone built with Next.js 14, Firebase, Clerk, and Shadcn/UI. This application allows users to upload, manage, rename, and delete files securely.
- 🔐 Secure Authentication: Managed by Clerk (Email, Google, etc.).
- 📁 File Management: Upload files of various types to Firebase Storage.
- 📂 Cloud Firestore: Real-time file metadata synchronization.
- ✏️ Rename & Delete: Easily manage your files with intuitive UI modals.
- 🌓 Dark Mode: Seamless theme switching using
next-themes. - 📱 Responsive Design: Fully optimized for mobile, tablet, and desktop.
- ⚡ Type Safe: Built with TypeScript for a robust developer experience.
- Framework: Next.js 14 (App Router)
- Authentication: Clerk
- Database & Storage: Firebase (Firestore & Storage)
- Styling: Tailwind CSS
- Components: Shadcn/UI
- State Management: Redux Toolkit
- Icons: Lucide React
git clone https://github.com/your-username/drop-box-clone.git
cd drop-box-clonenpm install
# or
yarn installCreate a .env.local file in the root directory and copy the contents from .env.example:
cp .env.example .env.localFill in your Clerk and Firebase credentials.
- Create a new Firebase project at Firebase Console.
- Enable Firestore Database and Storage.
- Set up Storage Rules to allow authenticated access (or public for testing).
- Get your web app configuration and paste it into
.env.local.
- Create a new application at Clerk Dashboard.
- Copy your Publishable Key and Secret Key to
.env.local.
npm run devOpen http://localhost:3000 with your browser to see the result.
This project is licensed under the MIT License.
Created with ❤️ by HunterXNB