Files in directory /KDriveSyncApp from the latest check-in of branch trunk
- src
- README.md
KDriveSyncApp
KDriveSyncApp is a console application designed to synchronize a local folder structure with kDrive using their v3 API. This application leverages Dependency Injection, configuration management, and logging to provide a robust solution for file synchronization.
Features
- Synchronizes local folders with kDrive.
- Supports uploading files while preserving metadata.
- Handles circular references and symlink management.
- Configurable through
appsettings.json
and environment variables.
Project Structure
KDriveSyncApp
├── src
│ ├── KDriveSyncApp.csproj
│ ├── Program.cs
│ ├── Services
│ │ ├── IKDriveService.cs
│ │ └── KDriveService.cs
│ ├── Sync
│ │ ├── ISyncService.cs
│ │ └── SyncService.cs
│ ├── Models
│ │ └── KDriveItem.cs
│ └── appsettings.json
└── README.md
Setup Instructions
- Clone the repository to your local machine.
- Navigate to the
src
directory. - Restore the project dependencies using the command:
dotnet restore
- Configure your
appsettings.json
with the necessary API keys and folder paths. - Run the application using:
dotnet run
Usage
After setting up the application, you can start the synchronization process by executing the application. It will read the local folder structure and synchronize it with your kDrive account based on the configurations provided.
kDrive API Integration
This application interacts with the kDrive API to perform operations such as uploading files and managing folder structures. Ensure you have the necessary API credentials and permissions to access your kDrive account.
Logging
The application utilizes logging to provide insights into the synchronization process. You can configure the logging settings in the appsettings.json
file.
Contributing
Contributions are welcome! Please feel free to submit a pull request or open an issue for any enhancements or bug fixes.
License
This project is licensed under the MIT License. See the LICENSE file for more details.