Codigram is a JavaFX-based visual modeling tool for creating UML Class Diagrams and Entity-Relationship Diagrams (ERD).
The application enables users to:
- Create diagrams manually through an intuitive drag-and-drop interface
- Generate diagrams using AI powered by Google Gemini
- Manage multiple diagrams within a single project
- Import/Export diagrams in JSON format
- Generate code from class diagrams (Java, CPP, C#, Python)
- Generate SQL DDL from ERD diagrams (MySQL, MSSQL, Sqlite3, Postgres)
- Interactive Diagram Editor: Create and edit UML classes and ERD entities with visual tools
- AI-Powered Generation: Use natural language prompts to generate complete diagrams via Gemini AI
- Code Generation: Automatically generate Java classes from UML diagrams with proper structure and relationships
- SQL DDL Export: Generate CREATE TABLE statements from ERD models
- Relationship Management: Define associations, inheritance, compositions, and cardinalities
- Visual Customization: Resize, move, and organize diagram components
- Project Management: Work with multiple diagrams in an organized workspace
- Language: Java
- Framework: JavaFX
- Build Tool: Maven
- AI Integration: Google Gemini API
- Version Control: Git & GitHub
Project dashboard for managing diagrams
Create and edit UML class diagrams with attributes, operations, and relationships
Design entity-relationship diagrams for database modeling
Use natural language to generate diagrams with Gemini AI
View generated Java code from class diagrams
Export generated code to files
Ensure you have the following installed:
- Java Development Kit (JDK) 24 or higher
- Apache Maven 3.6+
Verify installations:
java --version
mvn --version-
Clone the repository:
git clone https://github.com/A-git-nerd/Codigram.git cd Codigram
-
Configure Gemini API Key (for AI features):
- Create/edit
src/main/resources/org/example/demo1/system.properties - Add your Google Gemini API key:
api.key=YOUR_GEMINI_API_KEY
- Create/edit
-
Build the project:
mvn clean compile -
Run the application:
mvn javafx:run
- GitHub: @A-git-nerd
This project is developed for educational purposes.
