Skip to content

bonsng/3Drive-mock

Repository files navigation

3Drive Hero Banner

3Drive

3D Based Cloud Storage Service

Experience your file system in 3D space — browse, manage, and interact with files in an immersive environment.

TypeScript React Next.js Three.js R3F Tailwind CSS Framer Motion

DemoFeaturesArchitectureGetting StartedTech Stack


🎬 Demo

3D File Explorer
3D File Explorer — Navigate your files in an interactive 3D space
Landing Page
Landing Page — Clean, immersive onboarding experience

💡 Note: This is a portfolio/demo version running on mock data. It does not connect to a real backend server.


✨ Key Features

🗂️
3D File Explorer
🎯
Drag & Drop
🧭
Folder Navigation
🖼️
File Preview
🎥
Camera Controls
Browse files and folders rendered as interactive 3D nodes Move files between folders with intuitive drag-and-drop Traverse hierarchical folder structures seamlessly Preview file metadata and contents on click Zoom, pan, and rotate the 3D camera freely

🏗️ Architecture

3Drive/
├── app/                    # Next.js App Router
│   ├── api/                # API routes
│   ├── login/              # Login page
│   ├── signup/             # Signup page
│   ├── example/            # Demo/example page
│   ├── layout.tsx          # Root layout
│   └── page.tsx            # Landing page
├── ui/                     # UI layer
│   ├── Components/
│   │   ├── 3d-components/  # Three.js 3D components
│   │   ├── context/        # React Context providers
│   │   ├── hooks/          # Custom React hooks
│   │   ├── finder.tsx      # File finder component
│   │   ├── global-nav.tsx  # Global navigation
│   │   ├── side-nav.tsx    # Side navigation panel
│   │   └── onboarding.tsx  # Onboarding flow
│   ├── MainPage/           # Main 3D page views
│   ├── LoginPage/          # Login UI
│   └── Modal/              # Modal dialogs
├── lib/                    # Core utilities
│   ├── file-model.tsx      # File 3D model
│   ├── folder-model.tsx    # Folder 3D model
│   ├── root-model.tsx      # Root node model
│   ├── logo-model.tsx      # Logo 3D model
│   ├── positioning.ts      # Node positioning logic
│   ├── tree-utils.ts       # File tree utilities
│   ├── sample-tree.ts      # Mock data tree
│   └── angles.ts           # Angle calculations
├── backend/                # Backend logic
│   └── account-actions.ts  # Auth actions
├── types/                  # TypeScript type definitions
└── public/                 # Static assets (models, textures)

Rendering Pipeline

graph LR
    A[File Tree Data] --> B[tree-utils.ts]
    B --> C[positioning.ts]
    C --> D[3D Node Layout]
    D --> E[React Three Fiber Scene]
    E --> F[WebGL Rendering]
    F --> G[Interactive 3D Explorer]
Loading

🚀 Getting Started

Prerequisites: Node.js 18+ and npm

# 1. Clone the repository
git clone https://github.com/your-id/3Drive.git
cd 3Drive

# 2. Install dependencies
npm install

# 3. Start the development server
npm run dev

# 4. Open in browser
open http://localhost:3000

🛠 Tech Stack

Category Technologies
Framework Next.js 15, React 19
3D Rendering Three.js, React Three Fiber, React Three Drei, Postprocessing
Animation Framer Motion, GSAP
Styling Tailwind CSS 4
Auth NextAuth.js, bcryptjs, JWT
UI Components Radix UI, SweetAlert2, React Hot Toast
Language TypeScript 5

About

3D Cloud Storage Service

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages