A powerful tool for analyzing code and generating comprehensive data dictionaries using AI. This system helps developers understand code structure, relationships, and documentation through automated analysis.
-
Code Analysis: Analyzes code using AI (OpenAI GPT or Google Gemini) to extract:
- Data structures and tables
- Data relationships
- Important code snippets with explanations
- Data sources and transformations
- Potential reuse opportunities
- Documentation summaries
-
Modern Web Interface:
- Clean and intuitive UI for code submission
- Real-time analysis results
- Support for multiple file formats
- Interactive visualization of relationships
-
Flexible Architecture:
- FastAPI backend with async support
- React frontend with Material-UI
- Support for multiple AI providers
- Configurable analysis parameters
- Python 3.12+
- Node.js 16+
- OpenAI API key or Google Gemini API key
- Navigate to the backend directory:
cd backend- Install dependencies:
pip install -r requirements.txt- Set up environment variables:
# Create .env file
cp .env.example .env
# Add your API keys
OPENAI_API_KEY=your_openai_api_key
GOOGLE_API_KEY=your_google_api_key- Start the backend server:
python -m uvicorn main:app --reload --port 3001 --host 0.0.0.0- Navigate to the frontend directory:
cd frontend- Install dependencies:
npm install- Start the frontend server:
npm startThe application will be available at:
- Frontend: http://localhost:3000
- Backend: http://localhost:3001
- API Documentation: http://localhost:3001/docs
- Access the web interface at http://localhost:3000
- Upload your code file or paste code directly
- Click "Analyze" to start the analysis
- View the comprehensive analysis results including:
- Data structures
- Relationships
- Code snippets
- Documentation
- Reuse opportunities
The system supports various configuration options:
- Multiple AI providers (OpenAI/Gemini)
- Custom analysis parameters
- CORS settings for different environments
- Port configurations
Copyright © 2024 Pankaj Goyal. All rights reserved.
Contributions are welcome! Please feel free to submit pull requests.
Pankaj Goyal - pankajgoyal09@gmail.com
Made with ❤️ by Pankaj Goyal