https://github.com/zebrajaeger/file-transfer-system
https://github.com/zebrajaeger/file-transfer-system
Last synced: 8 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/zebrajaeger/file-transfer-system
- Owner: zebrajaeger
- Created: 2025-01-28T07:13:00.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-29T11:49:27.000Z (over 1 year ago)
- Last Synced: 2025-06-05T04:20:04.046Z (about 1 year ago)
- Language: JavaScript
- Size: 34.2 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# File Transfer System
This project consists of two components: a **Client** and a **Server**, designed to facilitate reliable file transfers with metadata preservation.
## Components
### 1. Server
- Hosts an HTTP endpoint to receive files.
- Stores uploaded files in a configurable directory.
- Preserves file metadata (creation and modification timestamps).
- Logs all activities and sends email notifications on errors.
Refer to the `server/README.md` for detailed information on setup and usage.
### 2. Client
- Sends files to the server based on a configurable schedule.
- Reads configurations such as source directory, server URL, and schedule from a `config.json` file.
- Supports dry-run mode to simulate transfers without modifying files.
- Logs all operations for traceability.
Refer to the `client/README.md` for detailed information on setup and usage.
## Features
- Metadata preservation during file transfers.
- Flexible configuration for both client and server.
- Detailed logging for debugging and monitoring.
- Email notifications for server-side errors.
- Cron-based scheduling for client operations.
## Prerequisites
- Node.js (v14 or later)
- npm (Node Package Manager)
## Installation
Clone the repository and navigate to the respective `client` and `server` directories to set up and run each component.
```bash
# Clone the repository
git clone
cd
# Navigate to server
cd server
npm install or yarn install or pnpm install
# Navigate to client
cd ../client
npm install or yarn install or pnpm install
```
## Licensing
This project is licensed under the MIT License. See the LICENSE file for more details.