A personal cloud storage application built with Next.js and Azure Blob Storage.
- Google OAuth authentication
- File upload with progress tracking (up to 5GB)
- File management (rename, delete, star, restore)
- Search and filtering
- Activity tracking
- Dark mode
- Next.js 16 (App Router)
- TypeScript
- MongoDB
- Azure Blob Storage
- NextAuth.js
- Tailwind CSS + shadcn/ui
- Clone and install dependencies:
npm install- Copy
.env.exampleto.env.localand fill in your credentials:
cp .env.example .env.local-
Set up required services:
- Google OAuth credentials
- MongoDB database
- Azure Storage account
-
Run the development server:
npm run devnpm run dev # Start dev server
npm run build # Build for production
npm run lint # Run ESLint
npm run type # TypeScript check
npm run format # Format code with PrettierFiles are uploaded directly from the browser to Azure Blob Storage using pre-signed URLs. File metadata is stored in MongoDB. This keeps the server lightweight and uploads fast.
Authentication uses NextAuth with Google OAuth. All routes under /dashboard and /api are protected by middleware.
MIT