/Automa-Clone-App

Automa is a browser extension for browser automation. From auto-fill forms, doing a repetitive task, taking a screenshot, to scraping data of the website, it's up to user what they want to do with this extension.

Primary LanguageJavaScript

Automa-Clone-App

Project Description

This is a single-page frontend project that serves as a clone of Automa, a browser extension designed for automating various tasks. Whether it's simplifying form filling, streamlining repetitive actions, capturing screenshots, or extracting data from websites, this extension empowers users to customize their web automation experience to suit their needs.

Table of Contents
Getting Started
Prerequisites
Installation
Libraries and Tools
Features
Contribution

Getting Started

To get started with this front-end clone of Automa, you'll need to follow these steps to set up the project environment and run it locally.

Prerequisites

Before you begin, ensure you have the following software and tools installed:

  • Node.js (latest version)
  • npm
  • Web browser (e.g., Chrome, Firefox)

Installation

Follow these steps to clone the project and install its dependencies:

  1. Clone the repository to your local machine using Git:

    git clone https://github.com/Kashif-Rezwi/Automa-Clone-App.git
  2. Change to the project directory:

    cd automa
  3. Install the project dependencies using npm:

    npm install

    Once you have installed the project and its dependencies, you can run the front-end part using the following command:

    npm start

    This command will start a development server, and you can access the application in your web browser at http://localhost:3000 (or another port if specified).

Libraries and Tools

Library Description
React A JavaScript library for building user interfaces.
HTML The standard markup language for creating web pages.
CSS A stylesheet language used for styling web documents.
React Flow A library for building interactive node-based graph interfaces.
React Icons Easily incorporate icons from popular packs into React applications
Material-UI (MUI) Library Material UI is a library of React UI components that implements Google's Material Design.
Short-Unique-ID Generates concise and unique identifiers (IDs) suitable for space-efficient applications.
React-Resize-Detector Provides the ability to detect and respond to changes in the size of DOM elements in React applications, aiding in responsive design.

Features

1. Homepage

It is a homepage based project where the Sidebar and Graph functionalities are the main focus.

2. Dragging node

Users can drag and drop elements from the sidebar.

Connecting nodes

Users can connect with different elements using Edge.

On hovering node options

On hovering any element/node in a graph user can see node id, delete button, and edit button

On editing a node

On clicking the edit button a sidebar opens and the user can edit the node.

On saving nodes to localstorage

Users can save the flow data into localstorage, and once saved if the user refreshes the window no data will be lost. Whenever data changes it indicates with a blue dot over the save button to save your data.

Right click on a node

On right-click node menu will appear, where the user can duplicate and delete that node.

Duplicate a node

Users can duplicate the node with a different ID.

Right click on a edge

On right-click edge menu will appear, where the user can only delete that edge.

Left click on a node

On left-click on a node, it will automatically pan and zoom over that node to the center of the viewport.

On click fitview

On clicking fitview it will automatically pan and zoom over the nodes to the center of the viewport.

Sidebar menu

The sidebar menu can be toggled with minus and plus buttons to hide and show menu options.

Sidebar menu Hide

The sidebar can be hidden with a sidebar button in the top-left corner of the graph.

Responsiveness

The UI is also responsive to Dekstop, tab, and mobile screens.

Contribution

Contributors
Kashif Rezwi

This is an individual project built in a span of 4 days