Skip to content

Latest commit

 

History

History
120 lines (89 loc) · 3.2 KB

README.md

File metadata and controls

120 lines (89 loc) · 3.2 KB

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