Welcome to the intelliJent (hackaTUM-2024) repository! This is a hackathon project for JetBrains that combines a robust backend API with an innovative AI-powered plugin for code refactoring, aimed at simplifying workflows and enhancing developer productivity. It is designed for use in modern software development environments, offering features like intelligent code suggestions and scalable backend services.
Devpost: https://devpost.com/software/augsburg-team
The backend is implemented in Python and includes the following files:
API_Backend.py
: A core backend script handling API requests and responses.backend.py
: Backend logic implementation.run_back.py
: Script to initialize and start backend services.swarm_script.py
: Potentially used for container orchestration or swarm management.test_requests.py
: A utility script for testing the backend APIs.input.json
: A sample input data file for configuration or testing.api_debug.log
: Debugging log file for tracking API-related errors and performance.
Located in the AIRefactorPlugin
directory, this component is a Java-based plugin designed for IntelliJ IDEA. It leverages AI to provide suggestions for refactoring Java code and includes:
-
Build and Configuration:
build.gradle.kts
andsettings.gradle.kts
: Gradle files for project configuration.- Gradle wrapper files (
gradlew
,gradlew.bat
) and related settings.
-
Source Code:
-
Java Files:
AiRefactorToolWindow.java
: Core implementation for the plugin's user interface.JavaFile.java
andRefactorSuggestion.java
: Representations of Java files and AI suggestions.
-
Resources:
META-INF/plugin.xml
: Plugin configuration for IntelliJ IDEA.- Icons and images for branding (
pluginIcon.svg
,logo.png
).
-
The test_codes
directory contains Java test programs that can be used to evaluate the plugin or backend functionality:
calculator.java
main.java
person.java
util.java
- Muhammad Aman Ahmad Tifli
- Joaquín Marí Marcos
- Anish Biswas
- I-En Hung
The central branch of the repository, containing stable code for the backend, AI plugin, and test files.
Focused on improving the AI Refactor Plugin, this branch includes:
- Experimental refactoring features.
- User interface enhancements.
Dedicated to refining backend services:
- Optimizing API performance.
- Adding new endpoints and features.
A specialized branch for testing the application, covering:
- Plugin functionality with test Java files.
- API stability and integration tests.
Ensure you have the following installed:
- Python 3.10+: For backend development.
- Java JDK 17+: For plugin development.
- IntelliJ IDEA: For working with the AI Refactor Plugin.
- Clone the Repository:
git clone https://github.com/anish-dev21/hackaTUM-2024.git
- Install Backend Dependencies:
pip install -r requirements.txt
- Set Up the Plugin:
- Open the
AIRefactorPlugin
directory in IntelliJ IDEA. - Sync the Gradle project to resolve dependencies.
- Open the
Start the backend by running:
python run_back.py
- Open the
AIRefactorPlugin
in IntelliJ IDEA. - Build and run the plugin.
- Test its functionality using sample Java files in the
test_codes
directory.
Use the test_requests.py
script to validate backend APIs:
python test_requests.py
Contributions are welcome! Follow these steps to contribute:
- Fork the Repository:
git fork https://github.com/anish-dev21/hackaTUM-2024.git
- Create a Feature Branch:
git checkout -b feature/your-feature-name
- Commit Changes:
git commit -m "Add your feature description"
- Push to GitHub:
git push origin feature/your-feature-name
- Open a Pull Request: Compare your branch with
main
and submit the PR.
For queries, suggestions, or collaboration, feel free to reach out:
- GitHub: anish-dev21
Thank you for exploring hackaTUM-2024! We hope this repository helps you create impactful solutions.