{"id":21981114,"url":"https://github.com/webgme/webgme","last_synced_at":"2025-04-08T10:26:01.451Z","repository":{"id":532867,"uuid":"2526173","full_name":"webgme/webgme","owner":"webgme","description":"Web-based Generic Modeling Environment","archived":false,"fork":false,"pushed_at":"2025-01-25T00:55:46.000Z","size":138692,"stargazers_count":161,"open_issues_count":75,"forks_count":55,"subscribers_count":22,"default_branch":"master","last_synced_at":"2025-04-01T08:42:05.372Z","etag":null,"topics":["cooperative","domains","framework","metamodeling","modeling","online-editor","webgme"],"latest_commit_sha":null,"homepage":"https://webgme.org","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/webgme.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2011-10-06T14:01:08.000Z","updated_at":"2025-01-27T11:01:19.000Z","dependencies_parsed_at":"2023-10-14T03:03:55.368Z","dependency_job_id":"a27ba922-c3d1-4f8e-b8d1-16dcfee9f28b","html_url":"https://github.com/webgme/webgme","commit_stats":{"total_commits":6683,"total_committers":38,"mean_commits":175.8684210526316,"dds":0.7671704324405207,"last_synced_commit":"28b76f357e2f85f02fde299bfc2acc80f784045a"},"previous_names":[],"tags_count":116,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webgme%2Fwebgme","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webgme%2Fwebgme/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webgme%2Fwebgme/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webgme%2Fwebgme/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/webgme","download_url":"https://codeload.github.com/webgme/webgme/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247822080,"owners_count":21001785,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cooperative","domains","framework","metamodeling","modeling","online-editor","webgme"],"created_at":"2024-11-29T17:17:06.313Z","updated_at":"2025-04-08T10:26:01.433Z","avatar_url":"https://github.com/webgme.png","language":"JavaScript","readme":"[![license](https://img.shields.io/github/license/mashape/apistatus.svg?maxAge=2592000)](https://opensource.org/licenses/MIT)\n[![Build status](https://img.shields.io/github/actions/workflow/status/webgme/webgme/node.js.yml?branch=master\u0026label=CI\u0026logo=github\u0026style=flat-square)](https://github.com/webgme/webgme/actions/workflows/node.js.yml)\n[![Version](https://badge.fury.io/js/webgme.svg)](https://www.npmjs.com/package/webgme)\n[![Downloads](http://img.shields.io/npm/dm/webgme.svg?style=flat)](http://img.shields.io/npm/dm/webgme.svg?style=flat)\n\n# WebGME - Web-based Generic Modeling Environment\n\nNote that this repository contains the full webgme app including a highly extendable graphical user interface and is the typical dependency a webgme app will depend on.\nTo use the webgme framework without a packaged GUI - check out [webgme-engine](https://github.com/webgme/webgme-engine).\n\nCreate your own Domain Specific Modeling Languages (DSML) right in the browser. Specify modeling concepts, their relationships, attributes, and aspects by drawing a UML class diagram-based metamodel and WebGME automatically configures itself to support the DSML.\n\nWebGME promotes collaboration where each change is translated into a micro-commit broadcast to all connected users. A lightweight branching scheme is transparently supported by the infrastructure. Code generators and externals tools can work on consistent snapshots (specific commits) while users can continue editing the models.\n\nWebGME provides a variety of extension points for you to customize your application. See below for a list and explainations. All these can be neatly generated, shared and imported using a [command line interface](https://github.com/webgme/webgme-cli).\n\n![WebGME-User-Interface](img/UI_2.11.1.png \"WebGME UI - try it out at https://webgme.org\")\n\n# Getting started\n\n### Dependencies\n#### Server\n - [NodeJS](https://nodejs.org/) (version \u003e= 14, CI tests are performed on versions 16.x, 18.x and LTS is recommended).\n - [MongoDB](https://www.mongodb.com/) (2.6 \u003c= version).\n - [Git](https://git-scm.com) (must be available in PATH).\n - [Redis](https://redis.io/) Note that this is only needed if you intend on running [multiple webgme nodes](https://github.com/webgme/webgme/wiki/Multiple-Nodes) behind a reverse proxy.\n\n#### Browser\nWe aim to support all the major modern browsers. However we recommend using Chrome for two reasons: manual testing is mostly done using chrome and all performance profiling is done against the [V8 JavaScript Engine](https://en.wikipedia.org/wiki/V8_(JavaScript_engine)).\n\n#### Tutorials\n- [Step by step tutorial](https://webgme.readthedocs.io/) - Explains meta-modeling in webgme and builds up a small application for Electrical Circuits.\n- [Tutorial from seminar 2015](https://github.com/webgme/tutorials) - Shows development techniques in webgme and builds up a Finite State Machine domain. This tutorial requires familiarity with meta-modeling. \n\n### Using WebGME\nYou can always try out webgme at our public deployment at [webgme.org](https://webgme.org). After a certain point you probably want to host your own server with custom running code and visualization. At this point follow the instructions at 1.\n\n1. [webgme-cli](https://github.com/webgme/webgme-cli). This is the preferred way of using webgme as it allows you to:\n * Automatically generate boilerplate code for [extensions](#extensions) (w/o manually configuring paths etc.).\n * Reuse components from other users.\n * Publish and share your work with others.\n * Updating to newer webgme releases only requires a `npm install webgme` and won't cause any conflicts.\n * **Note that** if cloning an existing repository constructed with webgme-cli, it is only necessary to install webgme-cli if you intend to create/import new components.\n\n2. For webgme developers, clone this repo.\n * install packages with npm `npm install`\n * launch mongod locally, e.g.\n```\ndocker run --name my-mongo -d -p 27017:27017 mongo:4.4\n```\n \n * start the server `npm start`\n\nAfter the webgme server is up and there are no error messages in the console. Open a valid webgme address in the browser. The default is `http://127.0.0.1:8888/`, you should see all valid addresses in the console where you started webgme.\nTo view the available documentation visit `\u003chost\u003e/api`.\n\n# Command line interface\n\nThe webgme-engine provides a range of bin scripts, [see here for list of all](https://github.com/webgme/webgme-engine#command-line-interface).\n\n# Extensions\n* [Plugins](https://github.com/webgme/webgme/wiki/GME-Plugins) - Model interpretation for e.g. code generation.\n* [Executor](https://github.com/webgme/webgme/wiki/GME-Executor-Framework) - Job execution framework over multiple worker nodes.\n* [Rest Routers](https://github.com/webgme/webgme/wiki/REST-Routers) - Add custom REST API routes with access to gme-auth and storage APIs.\n* [Constraints](https://github.com/webgme/webgme/wiki/GME-Constraints) - Add custom constraints based on meta-types.\n* [AddOns](https://github.com/webgme/webgme/wiki/GME-Add-Ons) - Continuous model interpretation for e.g. constraint evaluation.\n* [Webhooks](https://github.com/webgme/webgme/wiki/GME-WebHooks) - External event emitting based on changes in storage/models.\n* [Layouts](./src/client/js/Layouts/DefaultLayout) - Configure the layout of the generic UI.\n* [Visualizers](https://github.com/webgme/webgme/wiki/GME-Visualizers) - Add complete visualizers to the generic UI.\n* [Decorators](https://github.com/webgme/webgme/wiki/GME-Decorators) - Add custom decoration to the nodes in the model editor.\n\nSee [gme-config](./config/README.md) for available configuration parameters.\n\n# Change log\nSee [CHANGELOG](./CHANGELOG.md)\n\n# Contributing\nSee [CONTRIBUTING](./CONTRIBUTING.md)\n\n# License\nSee the [LICENSE](LICENSE) file.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebgme%2Fwebgme","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwebgme%2Fwebgme","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebgme%2Fwebgme/lists"}