neg-0 / gina

0 stars 0 forks source link

GINA: Project Idea Assistant

Overview

GINA is an intelligent, GPT-powered chatbot designed to assist in project management, idea generation, and innovation. This tool helps users to pitch ideas, scope them, and track them through a streamlined conversational interface. The bot also aids in evaluating the value and effort of ideas for prioritization, storing project data, and integrating with external services like Microsoft Teams.

The project is structured in two parts:

  1. Frontend: A chatbot UI built using React and Microsoft Bot Framework Web Chat, designed for web interaction.
  2. Backend: An Express server that connects the frontend to a locally run or cloud-hosted LLM (Large Language Model) and manages the bot’s logic.

Tech Stack

Frontend (React Application):

Backend (Node.js & Express):

LLM Integration:


Features

  1. Chatbot Interface: A clean and responsive chatbot frontend using React and Microsoft Bot Framework Web Chat.
  2. Project Idea Submission: Users can submit their ideas and receive suggestions to refine the scope.
  3. Idea Scoring: The bot evaluates ideas based on value and effort, helping to prioritize them.
  4. Project Tracking: Ideas and projects are stored in a database and can be referenced or updated.
  5. File Upload: Users can upload files (such as project-related documents) for additional context.
  6. Integration with LLM: The bot uses a locally hosted LLM for natural language processing and generation.
  7. Future Integration with Teams: Designed with future scalability to integrate with Microsoft Teams.

Getting Started

Prerequisites

Clone the Repository

git clone https://github.com/neg-0/gina.git
cd gina

Install Dependencies

Frontend

cd frontend
npm install

Backend

cd backend
npm install

Running the Application Locally

  1. Set up environment variables: Create .env files in both the frontend and backend directories:

    Frontend .env:

    REACT_APP_API_URL=http://localhost:3978/api

    Backend .env:

    PORT=3978
    MicrosoftAppId=YOUR_MICROSOFT_APP_ID
    MicrosoftAppPassword=YOUR_MICROSOFT_APP_PASSWORD
    DirectLineSecret=YOUR_DIRECT_LINE_SECRET
  2. Start the Backend: From the backend directory, run the following command:

    npm start

    This will start the Express server on http://localhost:3978.

  3. Start the Frontend: From the frontend directory, run:

    npm run dev

    This will start the React frontend on http://localhost:5173.

  4. Access the Application: Open your browser and navigate to http://localhost:5173 to interact with the chatbot.


Development Roadmap

Phase 1: MVP (Minimum Viable Product)

Phase 2: Integration & Refinement

Phase 3: Scalability & AI Enhancements


Contribution

We welcome contributions from the community! To contribute:

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature-name).
  3. Make your changes and commit (git commit -m "Added feature").
  4. Push to the branch (git push origin feature-name).
  5. Open a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.