Skip to content

A Google Drive Clone built with the latest tools and technologies of the Web Development industry. πŸ—‚οΈβ˜οΈ

Notifications You must be signed in to change notification settings

ThomasCode92/drive-tutorial

Repository files navigation

Drive Tutorial - Building a Google Drive Clone

A Google Drive Clone built with the latest tools and technologies of the Web Development industry. πŸ—‚οΈβ˜οΈ

This project is inspired by a YouTube tutorial of Theo. Check out this link to watch the full video.

πŸ“– About This Project

This project utilizes the T3 Stack and was initialized with create-t3-app. It demonstrates a modern, high-performance approach to application development through seamless integration of cutting-edge tools and technologies.

For more information about the technologies used in this project, consult the official documentation linked below. Additional support is available via the T3 Community Discord.

🎨 UI Scaffolding

The base UI for this project was created using v0, a tool that enables fast UI generation through vibe coding. An example of this approach can be seen in Theo’s walkthrough on YouTube.

To apply the same base UI in a project, run the following command:

npx shadcn@latest add "https://v0.dev/chat/b/b_fFQhsfElqQi"

🧰 Learn More about the T3 Stack

To explore more about the T3 Stack, refer to the following resources:

Visit the create-t3-app GitHub repository for feedback and contributions.

πŸš€ Getting Started

πŸ› οΈ Environment Variables

To configure the environment variables, copy the example file and update the values as needed:

cp .env.example .env

Open the .env file and fill in the required fields based on the project’s needs (e.g., database credentials, API keys, etc.).

πŸ—„οΈ Database Setup

This project uses SingleStore as the primary database, with Drizzle ORM for type-safe, efficient data access and schema management.

pnpm run db:push       # Push the schema to the database
pnpm run db:studio     # Launch Drizzle Studio

πŸ•ΉοΈ Development Server

To start the local development server:

pnpm run dev

🚧 Development Logbook

Tracking progress on key features and tasks for the project.

  • πŸ›’οΈ Set up the database and define data models
  • πŸ”— Sync folder open state with the URL
  • πŸ” Implement user authentication
  • πŸ“ Enable file upload functionality
  • πŸ“Š Add analytics tracking

πŸ“ Note from 5-28-2025

Just finished up the database connection, next steps:

  • Update schema to show files and folders
  • Manually insert examples
  • Render them in the UI

πŸ“ Note from 6-4-2025

The database and UI are now connected, some improvements to make:

  • Change folders to link components, remove all client state
  • Clean up the database and data fetching patterns
  • Real homepage

πŸ“ Note from 7-4-2025

Uploading a file to 'uploadthing' works, things that can be approved:

  • Upload files to the right folder
  • Delete file button
  • Allow files that are not images to be uploaded

About

A Google Drive Clone built with the latest tools and technologies of the Web Development industry. πŸ—‚οΈβ˜οΈ

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published