Coder Social home page Coder Social logo

dtmcdona / dm_tasklist Goto Github PK

View Code? Open in Web Editor NEW
1.0 3.0 0.0 311 KB

Simple RPA System with Fast-API, OpenCV, Tesseract-OCR and a virtual display

License: Creative Commons Zero v1.0 Universal

Python 97.64% Dockerfile 1.61% Makefile 0.75%
celery docker docker-compose event-driven fast-api makefile opencv2 pyautogui tesseract-ocr virtual-display

dm_tasklist's Introduction

DM_Tasklist

This project is a basic RPA system that uses Fast API endpoints as a backend for storing action sequences and streams screen data to the React.js frontend project (DM_React)

Docker setup

  1. Docker compose up
       make dcu
    
  2. To use the pytest tests:
       make tests
    

Local system setup:

  1. This project uses a virtual xvfb display but if you would like to disable this feature then comment out or remove these from app/core/process_controller.py
    """Virtual display setup has to be setup before pyautogui is imported"""
    import Xlib.display
    from pyvirtualdisplay.display import Display
    disp = Display(visible=True, size=(1920, 1080), backend="xvfb", use_xauth=True)
    disp.start()
    
    """Virtual display"""
    pyautogui._pyautogui_x11._display = Xlib.display.Display(os.environ["DISPLAY"])
    
  2. Install tesseract-ocr for pytesseract
    sudo apt install tesseract-ocr -y
    
  3. Install this for pyenchant:
    sudo apt-get install libenchant1c2a -y
    
  4. Make a new virtual environment and install requirements.txt
    python3 -m venv venv
    source venv/bin/activate
    pip install -r requirements.txt
    
  5. This terminal commands will run the system on your local system:
    make local
    

Note:

I created two PostgreSQL adapter files with credentials in settings.py. The adapters are not part of the back-end. If you would like to use the PostgreSQL adapters then you need to setup a PostgreDB that match settings.py and connect the adapters to the endpoints. Currently, there is no need for a database but in the future it might be useful.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.