Giter Site home page Giter Site logo

godrums / apollon Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ls1intum/apollon

0.0 0.0 0.0 11.88 MB

UML Modeling Editor written in React

Home Page: https://apollon-library.readthedocs.io

License: MIT License

JavaScript 1.29% TypeScript 97.97% CSS 0.35% EJS 0.38%

apollon's Introduction

Apollon

GitHub Actions Status Dependencies status DevDependencies status Documentation Status Codacy Badge Codacy Badge

Latest version)

A UML modeling editor written in React and TypeScript.

Main Features

Easy to use editor

The user interface of Apollon is simple to use. It works just like any other office and drawing tool that most users are familiar with.

  • Select the diagram type you want to draw from the Diagram Type menu. This selection determines the availability of elements that the user can use while drawing their diagram, making it easier for users who are newly introduced to modeling.
  • Adding the element is as easy as dragging it from the elements menu and dropping it to the canvas. So is drawing the connection between them, simply drag and connect two or multiple elements.
  • Edit the text of any element by double-clicking on it. An easy-to-use menu will allow you to do so.
  • Supports dark/light themes for the editor.
  • Supports two languages: German and English.
  • Supports exporting the entire diagram or just selected elements of it.

Apollon features

Flexible layout features while drawing

Apollon allows user to draw their diagram more flexibly. You can use keyboard shortcuts to copy, paste, delete and move the elements throughout the canvas. The layout of the connection is drawn automatically by the editor. However, if you want to manually layout the relationship path, use the existing waypoints feature to do so. All you have to do is to hover over the relationship, and simply drag the displayed waypoint as required. Elements of diagram can also be resized from all of its four corner.

Infinite Canvas

Apollon provides an infinite canvas. With the availability of this canvas, you will never feel you're out of space while drawing your diagram. It also provides positioning rulers (grid) which can be used as a guideline to place your elements. All the elements are snapped perfectly to the grid.

Wide range of UML diagrams

Apollon allows you to create a wide range of UML diagrams. Currently, it supports creating 11 different UML diagrams. The list of UML diagrams includes:

  • Class Diagram
  • Object Diagram
  • Activity Diagram
  • Use Case Diagram
  • Communication Diagram
  • Component Diagram
  • Deployment Diagram
  • Petri Net Diagram
  • Reachability Graph
  • Syntax Tree
  • Flowchart

Integrate Apollon with other software

Apollon can be integrated to any other Javascript application. It serves as the modeling editor for the widely used interactive learning platform called Artemis.
It also provides the standalone version of the editor. You can try the standalone version of Apollon completey free and without the necessity of creating any account. It is a web application that allows users to use Apollon editor directly from their browser with additional features, including but not limited to, sharing and exporting the diagram. It can be accessed via https://apollon.ase.in.tum.de.

The GitHub repository of its Standalone version is https://github.com/ls1intum/Apollon_standalone

Usage

Install the @ls1intum/apollon npm package using either yarn or npm:

yarn add @ls1intum/apollon

Import the ApollonEditor class, which is the default export of the npm package:

import ApollonEditor from '@ls1intum/apollon';

Get hold of a DOM node and mount a new instance of the Apollon editor into it:

const container = document.getElementById("...");
const editor = new ApollonEditor(container);

To unmount the editor instance, call its destroy() method:

editor.destroy();

For a complete overview of the API, please refer to the [lib/es6/index.d.ts] file.

ESModules and CommonJs

Apollon provides both an ESModules, as well as CommonJS version to be included. They lay in lib/es6 and lib/es5 and the correct version should be resolved automatically.

Development Setup

Clone the repository and change into the Apollon directory:

git clone https://github.com/ls1intum/Apollon.git
cd Apollon

Install all node dependencies:

yarn install

Launch the webpack-dev-server:

yarn start

The webpack-dev-server is now listening on http://localhost:8888. If you change a TypeScript file, webpack will automatically compile the code, bundle the application, and refresh the page in your browser.

apollon's People

Contributors

jwilland-tum avatar tobiaspr avatar julianwilland avatar mariusschulz avatar minrows avatar krusche avatar mtnc avatar dependabot[bot] avatar maisikoleni avatar mertyldrr avatar martindevtum avatar olimbia23 avatar dejdav avatar jpbernius avatar nicolasruscher avatar mariusdkm avatar rs-maker avatar suspiciousactivity avatar codacy-badger avatar iozbeyli avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.