Skip to content
This repository has been archived by the owner on Sep 3, 2024. It is now read-only.
/ easysave Public archive

A C# CLI and GUI to backup files

Notifications You must be signed in to change notification settings

julien-wff/easysave

Repository files navigation

EasySave

EasySave logo

Badges

Lines of Code Coverage Bugs Maintainability Rating Reliability Rating Security Rating

Table of Contents

1. Description
2. Project Structure

3. Sequence diagrams

4. User Documentation

Description

EasySave is a software developed on .NET by ProSoft. It allows to create, manage and execute backup jobs with different modes and settings.

Project structure

Solution structure

The solution contains 3 projects:

  • EasyCLI: the command line interface of the software
  • EasyLib: the library containing the core of the software
  • EasySaveTests: the unit tests of the software

Project structure

Open interactive diagrams on Figma.

CLI

This project contains the command line interface of the software. It is the entry point from the CLI. It handle the arguments and call the library to execute the backup jobs. Here is the Class Diagram of the CLI

CLI Class Diagram Class diagram on Figma

Lib

This project contains the core of the software. It contains the backup jobs, the backup modes, the backup settings and the file management.

Lib Class Diagram Class diagram on Figma

Communication between CLI and Lib

The CLI instantiate JobManager from the Lib.

The CLI subscribe to the JobStatusListener observer of the JobState.

Sequence diagrams

New backup job

This sequence diagram describe the creation of a new backup job.

Job creation sequence diagram on Figma Job creation sequence diagram on Figma

Start backup job

This sequence diagram describe the start of a backup job.

Job start sequence diagram on Figma Job start sequence diagram on Figma

User Documentation

CLI

To use easy save, you need to use the command line interface and run the easysave.exe with the command:
$ Path/To/File/easysave.exe [command] [options]

Available commands

Display help on other commands:
easysave help

Get the version of the application:
easysave version

List all the jobs in the state file:
easysave list [jobs]

Checks if the config is valid, and if the state matches all the rules:
easysave check [jobs]

Create a new job in the state file:
easysave create <name> <srcPath> <destPath> [--type <{full}|differential>]

Delete a job from the state file:
easysave delete <jobs>

Run selected jobs:
easysave run <jobs>

Discard the state of running jobs:
easysave discard <jobs>

Files

Esaysave use 2 files to store the state of the jobs and the logs. They are located in SystemUserFiles/easySave.

Source and destination paths

The source and destination paths can be either a file or a director located on the local machine or on a network drive or a removable drive.

Examples

Authors