Skip to content

enesmanan/feedback-agent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Code Feedback Agent

Python Version Flask Version OpenAI Gemini License

Code Feedback Agent is an interactive web application that analyzes your Python projects on GitHub and provides AI-powered feedback. You can receive detailed analysis of your project and chat with the bot to improve your code.

🌐 Demo

🚀 Features

  • 📊 Comprehensive code analysis
  • 💬 Interactive chat interface
  • 📝 Markdown formatted outputs
  • 🔄 Chat history tracking
  • 🐍 Python and Jupyter Notebook support
  • 🔒 Secure and scalable architecture

🛠️ Technologies

  • Backend: Flask
  • AI: OpenAI GPT-4 & Gemini Pro
  • Database: SQLite
  • Frontend: HTML, CSS (Tailwind), JavaScript

📋 Prerequisites

  • Python 3.10+
  • OpenAI & Gemini API key
  • Git & pip

🔧 Installation

  1. Clone the repository:
git clone https://github.com/enesmanan/feedback-agent.git
cd feedback-agent
  1. Create a virtual environment:
python -m venv venv
source venv/bin/activate  # Linux/Mac
venv\Scripts\activate     # Windows
  1. Install requirements:
pip install -r requirements.txt
  1. Set .env file:
OPENAI_API_KEY="api-key-here"
GEMINI_API_KEY="api-key-here"
DEFAULT_AI_SERVICE=auto
  1. Run the application:
python3 app.py # Linux
python app.py  # Windows

💡 Usage

  1. Go to http://localhost:5000 in your browser
  2. Enter your GitHub project URL
  3. Review the analysis results
  4. Chat with the bot to improve your project

📁 Project Structure

feedback_agent/
├── templates/              # HTML templates
│   ├── base.html
│   └── chat.html
├── static/                 # Static files
│   ├── css/
│   │   └── style.css
│   └── js/
│       └── main.js
├── database/              # Database operations
│   └── chat_history.py
├── utils/                 # Utility functions
│   ├── github_handler.py
│   └── notebook_handler.py
├── analyzers/             # Code analysis
│   └── code_analyzer.py
├── formatters/            # Output formatting
│   └── output_formatter.py
├── config/               # Configuration
│   └── settings.py
├── app.py                # Main application
├── requirements.txt      # Dependencies
└── README.md            # Documentation

🤝 Contributing

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📝 License

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

👥 Contact

Enes Fehmi Manan - @enesfehmimanan