npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

serverless-rpa-package

v1.0.12

Published

common folder structure and utils

Downloads

935

Readme

RPA (Robotic Process Automation)

Robotic Process Automation (RPA) aims to replicate human actions. This project emulates repetitive human interactions with websites and provides a basic structure that can be adopted for specific use cases. It includes use cases involving data collection from research papers using a given serverless architecture.

Lambda Coding Pattern

The Lambda coding pattern is designed to streamline the development process. The principle of separation of concerns is applied for modular and maintainable code by dividing the application logic into route handler, handler, service, and client, where each layer has its own specific task or work.

1) Route Handler

As the name suggests, the request handler directs incoming requests based on the method and path. It serves as the entry point of the Lambda function and is responsible for receiving and mapping incoming HTTP requests to the appropriate handler.

  • Map the request to the appropriate Handler based on routing logic.

2) Handler

Intermediary between the Route Handler and the Service layer. It coordinates the request and invokes the appropriate Service layer.

  • Parse and validate incoming requests.`
  • Format the response to be returned to the API user.
  • Use of middleware for mapping request/response objects.

3) Service

The service layer is an essential component that encapsulates business logic, orchestration, and complex operations, requiring coordination between multiple clients and external services.

  • Implement complex business logic.
  • Interaction with Clients for requesting data.
  • Handle cross-cutting concerns (eg: on the success of the Client storing that data in the DynamoDB table)
  • Converting data using appropriate converters.

4) Client

The Client layer is responsible for interacting with external websites, handling their response data, and managing errors. it contains service clients and REST clients.

1. Service Client

It acts as an adapter and calls the REST client (which will handle the actual interaction). The service client manages the logic for calling REST clients according to the requirement and also handles errors thrown by external websites.

  • Calls REST client.
  • Business logic for calling REST clients.
  • error handling (majorly based on errors thrown by 3rd party websites)

2. REST Client

REST Client executes RESTful API calls to external systems.

  • Make RESTFul API call with appropriate request details.
  • Return response from an external website to the Service Client.

Flow diagram for architecture

diagram-export-8-23-2024-11_56_58-PM

Flow diagram for middleware before hitting handler

diagram-export-8-23-2024-8_04_36-PM

For installing structure run:

npx serverless-rpa-package project-name