Welcome to Evernote Client App Documentation. This document will contain the research and development information of the client I am planning to develop and utilize in daily basis to safely store my documents and books and any other files.

  1. Abstract
  2. Algorithm
  3. Pseudocode
  4. Repository
  5. Application Design
  6. Developer Links

Abstract

The purpose of the tool is to stop worrying about hard disk space and confidential document's accidental deletion etc. This tool can upload any file to evernote client.

Abstract description of the tool

A scheduler or batch job program Or a stand-alone application which can be automated/scheduled or run-when-needed.

The Program should do the following:

1. Retrieve the file from file system.
2. Prepare details about file system w.r.t to evernote such as Note Name, Notebook Name, File location, Split attribute, File Type etc.
3. Store the information in the database for reference purposes and tracking purposes.
4. Upload the files to Evernote System.

Algorithm

First Refinement

Initialization Phase:

File List

File Object list (File Name, File Path, Note Name, CRC)

Notebook Name

Evernote Connection Object

Database Connection Object

Execution Phase:

Prepare file list

Prepare File Objects with file

Update notebook name from the properties file.

Validate Evernote Connection

Validate Database Connection

Update staging table with file object details.

Upload each file to evernote with the details of staging table.

Update record with note link and notebook details in database table.

Validations Phase:

Check CRC for each file in local system with the file uploaded into evernote then mark it as upladed success

If CRC does not match mark it upload failed and delete note from evernote.

All checks have been successful.

Confirm Validations are good.

Post Validations Phase:

Update a google sheet or microsoft excel sheet with the details of the upload.


Pseudocode

Initialization Phase:

Declare File List Object

Declare File Path String

Declare File Object List

Declare Notebook Name

Declare Evernote Connection Object

Declare Database Connection Object

Execution Phase:

Go through the path and get list of file names and load them to File List object

Iterate through each file and create File Object for each File and store the objects into File Object List

Insert file object details to database staging table.

Upload file to evernote system.

Insert file object details to database table along with notelink


Repository

To be updated...


ApplicationDesign

Use Case Diagram:

Below is the basic Use Case Diagram of the Program.

Use Case Model

Actors:

  1. Application
  2. Evernote API System

Use Cases:

  1. File Retrieval
  2. Evernote Object Creation
  3. Upload to evernote
  4. Update Database

Use Case Diagram


DeveloperLinks

  1. Git Repository
  2. Issue Tracking
  3. Wiki Page
  4. Agile Board
  5. Evernote SDK Java Docs