open-index/open-npm huggingface dataset:
npm package: @letsecure/encryptmydata
Description: This Library is an encrypt data over the network
Author: Tosin Owoeye
Latest version: 1.0.32

# Secure My Data

Secure My Data is an AES algorithm protocol designed to encrypt and sign your confidential information. This project aims to help both small and large-scale enterprises secure their data at rest stored in database.

This Library can also be used has Symentric & Asymentric encryption of data, if it happens data is communicated accross local unsecured network.

## Installation

### NPM
Install the library using the following command:

### Yarn
Install the library using the following command:


## Usage

**Step 1:** Visit the Homepage

**Step 2:** Enter your desired passphrase. Note that your passphrase will be encrypted and signed.

**Step 3:** Generate and download your public and private keys.

**Step 4:** Keep your private key and passphrase very secure.

**Step 5:** Make your public key available for data encryption.

> Note: Rest assured that every data is digitally signed, ensuring that your encrypted data cannot be tampered with during transmission.

> Note: The private key is used for signing the data.

## API

### encryptData()

Expected Parameters:
- `incomingData`: Any type of data (e.g., JSON, string)
- `relativeOrAbsolutePathToPublicKey`: Path to your generated public key
- `relativeOrAbsolutePathToPrivateKey`: Path to your generated private key
- `callback`: Callback function which contains the encrypted data

### decryptData()

Expected Parameters:
- `incomingData`: Encrypted data
- `relativeOrAbsolutePathToPublicKey`: Path to your generated public key
- `relativeOrAbsolutePathToPrivateKey`: Path to your generated private key
- `signature`: Signature hash
- `passphrase`: Passphrase used in generating the initial public and private keys
- `callback`: Callback function which contains the  decrypted data

## Support Me
If you find this project helpful, you can support me by making a donation in Bitcoin:
Bitcoin address: bc1qw7ruy9x3huqyxu43sr2ym3ux6nyqs5j0mkqyf8
npm package: @letsflow/core
Description: Shared library for LetsFlow
Author: Arnold Daniels
Latest version: 1.5.0

![letsflow](https://github.com/letsflow/workflow-engine/assets/100821/3852a14e-90f8-4f8f-a334-09516f43bbc1)
[![CI](https://github.com/letsflow/letsflow/actions/workflows/main.yml/badge.svg)](https://github.com/letsflow/letsflow/actions/workflows/main.yml)

Letsflow is a human-centric workflow automation engine that blends automation with human decision-making, enabling dynamic interactions between people and automated steps.

```yaml
actors:
  user:
    title: The user
    properties:
      feeling: !default sad

actions:
  complete:
    title: Complete the process
    update:
      set: actors.user.feeling
      value: happy

states:
  initial:
    on: complete
    goto: (done)
```

The *scenario* models a *process* as a fine-state machine. The *actors* are persons, organizations, or systems that can participate in the process by performing *actions*. Which actions can be performed depends on the current *state* of the process. By executing an action, the process can *transition* to a different state.

### [Read the documentation](https://www.letsflow.io/)

## Installation

```bash
yarn add @letsflow/core
```

## Example usage

```typescript
import { normalize } from '@letsflow/core/scenario';
import { chain, instantiate, step } from '@letsflow/core/process';

const scenario = normalize({
  title: 'My first scenario',
  actors: {
    user: {
      title: 'The user',
      properties: {
        feeling: {
          type: 'string',
          default: 'sad'
        }
      }
    }
  },
  actions: {
    complete: {
      title: 'Complete the process',
      update: {
        set: 'actors.user.feeling',
        value: 'happy'
      }
    }
  },
  states: {
    initial: {
      on: 'complete',
      goto: '(done)'
    }
  }
});

const process = chain(
  instantiate(scenario),
  (process) => step(process, 'complete', 'user')
);

console.log(process.current.key); // (done)
console.log(process.actors.user.feeling); // happy
```
npm package: @letsflow/testing
Description: Test suite for LetsFlow
Author: Arnold Daniels
Latest version: 1.0.3

![letsflow](https://github.com/letsflow/workflow-engine/assets/100821/3852a14e-90f8-4f8f-a334-09516f43bbc1)

# Test Suite

Test suite for LetsFlow workflows

## Installation

Install [Cucumber](https://cucumber.io) and this library using your package manager (npm, yarn, pnpm, etc).

    yarn add --dev @cucumber/cucumber @letsflow/testing

## Configuration

Create the [cucumber configuration](https://github.com/cucumber/cucumber-js/blob/main/docs/configuration.md) `cucumber.yaml`

```yaml
workflows:
  require:
    - node_modules/@letsflow/lib/**/*.js
```

Add the `test:workflows` script in `package.json`

```json
  "scripts": {
    "test:workflows": "cucumber-js --profile workflows"
  }
```

## Features

Add features (test files) to the `features` folder.

## Usage

Run all workflow 

    yarn test:workflows
    
Run a single feature or folder with features

    yarn test:workflows features/some-test.feature

### Environment variables

The test suite assumes that the scenarios are locates in a folder name `scenarios` in the current
working directory. You can set this path with env var `LETSFLOW_SCENARIO_PATH`.

## Documentation

Please read the full documentation at [letsflow.io](https://letsflow.io)