chore(config): add initial project configuration and setup files
- Add .env.example with Microsoft Azure AD and Google Cloud OAuth client ID placeholders - Create .gitignore to exclude node_modules, build output, env files, IDE, OS, logs, and test coverage - Add .prettierrc for consistent code formatting rules - Add README.md with project overview, features, setup instructions, project structure, and technologies used - Add components.json with UI framework and alias configuration - Configure eslint.config.js for linting TypeScript and React code with recommended settings - Add index.html as application entry point with root div and main script reference - Add package-lock.json capturing full dependency tree and versions for reproducible installs
This commit is contained in:
102
README.md
Normal file
102
README.md
Normal file
@@ -0,0 +1,102 @@
|
||||
# OneDrive ↔ Google Drive Streamer
|
||||
|
||||
A secure, high-performance application to stream files bidirectionally between Microsoft OneDrive and Google Drive.
|
||||
Now powered by a **Node.js Express backend** for reliable server-side streaming and token management.
|
||||
|
||||
## Features
|
||||
|
||||
- <20> **Bidirectional Transfers**: Move files from OneDrive to Google Drive AND Google Drive to OneDrive.
|
||||
- 🚀 **Server-Side Streaming**: Files are piped directly between cloud providers on the server, ensuring faster and more reliable transfers for large files.
|
||||
- <20> **Secure OAuth 2.0**: Implements robust Authorization Code Flow via the backend.
|
||||
- 📊 **Real-time Progress**: Track transfer status with live progress updates.
|
||||
- 📁 **File Management**: Browse and select files from your connected cloud storage.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- Node.js (v18 or higher)
|
||||
- npm or yarn
|
||||
|
||||
## Setup
|
||||
|
||||
### 1. Clone the repository
|
||||
```bash
|
||||
git clone <repository-url>
|
||||
cd <repository-directory>
|
||||
```
|
||||
|
||||
### 2. Install Dependencies
|
||||
You need to install dependencies for both the frontend and the backend.
|
||||
|
||||
**Frontend:**
|
||||
```bash
|
||||
npm install
|
||||
```
|
||||
|
||||
**Backend:**
|
||||
```bash
|
||||
cd server
|
||||
npm install
|
||||
cd ..
|
||||
```
|
||||
|
||||
### 3. Configure Environment Variables
|
||||
|
||||
**Frontend (`.env`):**
|
||||
Create a `.env` file in the root directory:
|
||||
```env
|
||||
VITE_MS_CLIENT_ID=your_microsoft_client_id
|
||||
VITE_GOOGLE_CLIENT_ID=your_google_client_id
|
||||
```
|
||||
|
||||
**Backend (`server/.env`):**
|
||||
Create a `.env` file in the `server` directory:
|
||||
```env
|
||||
PORT=3001
|
||||
# Microsoft Graph Credentials
|
||||
VITE_MS_CLIENT_ID=your_microsoft_client_id
|
||||
MS_CLIENT_SECRET=your_microsoft_client_secret
|
||||
|
||||
# Google Drive Credentials
|
||||
VITE_GOOGLE_CLIENT_ID=your_google_client_id
|
||||
GOOGLE_CLIENT_SECRET=your_google_client_secret
|
||||
REDIRECT_URI=http://localhost:5173/auth/callback
|
||||
```
|
||||
|
||||
> **Note:** You must register applications in both Azure Portal and Google Cloud Console.
|
||||
> Ensure the Redirect URI is set to `http://localhost:5173/auth/callback`.
|
||||
|
||||
### 4. Run the Application
|
||||
|
||||
You need to run both the backend server and the frontend client.
|
||||
|
||||
**Start Backend (Terminal 1):**
|
||||
```bash
|
||||
cd server
|
||||
npm run dev
|
||||
```
|
||||
*Server runs on http://localhost:3001*
|
||||
|
||||
**Start Frontend (Terminal 2):**
|
||||
```bash
|
||||
npm run dev
|
||||
```
|
||||
*Frontend runs on http://localhost:5173*
|
||||
|
||||
## Project Structure
|
||||
|
||||
- **`/server`**: Node.js Express Backend
|
||||
- `src/routes`: API endpoints (`/auth`, `/transfer`)
|
||||
- `src/services`: Cloud provider integration (`onedrive.ts`, `googledrive.ts`)
|
||||
- **`/src`**: React Frontend
|
||||
- `components`: UI components (Cards, Progress, Alerts)
|
||||
- `lib/api.ts`: API client for communicating with the backend
|
||||
- `App.tsx`: Main application logic and state management
|
||||
|
||||
## Technologies
|
||||
|
||||
- **Frontend**: React, TypeScript, Vite, Tailwind CSS, Lucide Icons, Shadcn UI
|
||||
- **Backend**: Node.js, Express, TypeScript, Axios, Microsoft Graph Client, Google APIs
|
||||
|
||||
## License
|
||||
|
||||
ISC
|
||||
Reference in New Issue
Block a user