Skip to content

Kshitijknk07/GottaGo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 

Repository files navigation

GottaGo

GottaGo is a small full-stack project that combines a Chrome side panel extension with a GoFr backend powered by Gemini. The frontend provides the browser extension shell, while the backend exposes AI endpoints for GoFr-focused chat responses and cold-email generation.

Overview

The repository currently contains two separate pieces:

  • A React and TypeScript Chrome extension built for the Chrome side panel experience.
  • A GoFr backend that sends prompts to Gemini and returns short JSON responses.

The project is in an early stage. The extension UI is present, but it is not yet wired to the backend APIs.

Repository Structure

.
├── backend
│   ├── go.mod
│   ├── gofr-introduction.md
│   └── main.go
└── frontend
    ├── background.js
    ├── manifest.json
    ├── package.json
    ├── public
    ├── src
    └── webpack.config.js

What Each Part Does

Frontend

The frontend is a Manifest V3 Chrome extension named GoFrConnect.

It includes:

  • A side panel entry opened from the extension action button.
  • A React app rendered inside the panel.
  • Hash-based routes for Home, Settings, Profile, and Help.
  • A custom Webpack build that outputs an unpacked extension bundle to frontend/dist.

Current frontend state:

  • The main pages are placeholder screens.
  • The extension does not currently call the backend.
  • The sidebar references profile.svg and help.svg, but those assets are not present in frontend/public/icons.

Backend

The backend is a GoFr application with two GET routes:

  • /chatbot Uses the contents of backend/gofr-introduction.md as context, appends the incoming prompt query parameter, and returns a short Gemini-generated response as JSON.
  • /coldemail Generates a cold email for a hardcoded Golang-related use case and returns it as JSON.

The backend depends on a Gemini API key loaded from a local .env file.

Tech Stack

  • Go 1.23.x
  • GoFr
  • Google Generative AI Go SDK
  • React 18
  • TypeScript
  • Webpack
  • Chrome Extension Manifest V3

Prerequisites

Before running the project, make sure you have:

  • Go installed locally
  • Node.js and npm installed locally
  • A Gemini API key
  • Chrome or another Chromium-based browser for loading the extension

Backend Setup

  1. Move into the backend directory:

    cd backend
  2. Create a .env file:

    GEMINI_API_KEY=your_api_key_here
  3. Install Go dependencies:

    go mod download
  4. Start the server:

    go run main.go

Frontend Setup

  1. Move into the frontend directory:

    cd frontend
  2. Install dependencies:

    npm install
  3. Build the extension:

    npm run build
  4. Load the unpacked extension in Chrome:

    • Open chrome://extensions
    • Enable Developer mode
    • Click Load unpacked
    • Select the frontend/dist directory

API Reference

GET /chatbot

Query parameter:

  • prompt: the question or prompt to send to the chatbot

Example:

/chatbot?prompt=What%20is%20GoFr%3F

Response shape:

{
  "response": "..."
}

GET /coldemail

Returns a generated cold email using a hardcoded prompt in the backend.

Response shape:

{
  "response": "..."
}

Development Notes

  • frontend/webpack.config.js builds the React app into frontend/dist/js.
  • frontend/manifest.json, frontend/background.js, and the frontend/public assets are copied into frontend/dist.
  • The frontend includes a test file, but it still reflects an older Hello World setup rather than the current routed UI.

Current Status

This repository is best described as a working project scaffold:

  • The extension shell exists.
  • The backend AI endpoints exist.
  • The frontend and backend are not integrated yet.
  • Several UI pages still need real product behavior.

Next Recommended Improvements

  • Connect the side panel UI to the /chatbot backend route.
  • Make the cold email endpoint accept user input instead of a hardcoded purpose.
  • Add the missing sidebar assets or remove the unused links.
  • Update the frontend test suite to match the current UI.

About

GottaGo combines a Chrome side-panel extension with a GoFr backend that uses Gemini for GoFr-focused chat responses and cold-email generation.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors