Skip to content

Kshitiz-Mhto/go-buddy-backend

Repository files navigation

Gobuddy

Gobuddy is a WebSocket-based web automation tool powered by Gemini LLM, a custom scraper, and ChromeDP. It enables intelligent user request handling and automation for seamless web interactions.

Features

Intelligent Web Interaction

  • Leverages Gemini LLM to understand and process user instructions.
  • Uses ChromeDP to perform real user-like actions such as clicking, scrolling, and filling forms.

Advanced DOM Scraping

  • Custom scraper extracts structured data from HTML, capturing full context including metadata and layout information.

Automated Multi-Step Workflows

  • Executes complex tasks like login, navigation, and data extraction in a seamless, automated sequence.

Demo Videos

Watch Gobuddy in action! Below are some demo videos showcasing its capabilities:

Technologies used

  • Go: The programming language used for the backend (version 1.25.1).
  • Gin: A high-performance HTTP web framework for routing and handling HTTP requests (github.com/gin-gonic/gin v1.10.1).
  • WebSocket: Real-time bidirectional communication using the Gorilla WebSocket library (github.com/gorilla/websocket v1.5.3).
  • CORS: Cross-Origin Resource Sharing support for enabling secure cross-domain requests (github.com/gin-contrib/cors v1.7.6).
  • godotenv: Environment variable management for configuration (github.com/joho/godotenv v1.5.1).
  • Testcontainers: Integration testing with Docker containers.
  • MySQL: Database integration using the MySQL driver (github.com/go-sql-driver/mysql v1.9.3).
  • GenAI: Enables integration with Google's generative AI services. (google.golang.org/genai).

MakeFile

Build the application

make build

Clean up binary from the last build:

make clean

Run the application

make run

DB Integrations Test:

make itest

Live reload the application:

make watch

Run the test suite:

make test

Note

Not in use

Create DB container

make docker-run

Shutdown DB Container

make docker-down

About

Gobuddy is a WebSocket-based web automation server powered by Gemini LLM, a custom scraper, and ChromeDP. It enables intelligent user request handling and automation for seamless web interactions.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors