Skip to content

Jjodel is a cloud-native, low-code, web-based modeling platform designed to simplify the creation and evolution of domain-specific languages (DSLs). It supports modular viewpoints (syntax, validation, semantics), collaborative modeling, and seamless integration with external services .

License

Notifications You must be signed in to change notification settings

jjodel-modeling/jjodel-frontend

ย 
ย 

Repository files navigation

๐ŸŒ The application is publicly accessible at this link.

Installation Guide - JJodel

This guide provides complete instructions for installing and running JJodel in different modes.

๐Ÿ“‹ Prerequisites

For local development:

  • Node.js 22.x or higher
  • npm (included with Node.js)
  • Git

For Docker deployment:

  • Docker and Docker Compose
  • Git

๐Ÿš€ Quick Installation with Docker

Option 1: Pre-built image

# Download and run the image from Docker Hub
docker pull md2manoppello/jjodel:latest
docker run -p 3000:80 md2manoppello/jjodel:latest

# Open browser at http://localhost:3000

Option 2: Local build

# Clone the repository
git clone https://github.com/MDEGroup/jjodel.git
cd jjodel

# Build the image
docker build -t jjodel:latest .

# Start the container
docker run -p 3000:80 jjodel:latest

# Open browser at http://localhost:3000

๐Ÿ’ป Development Installation

1. Clone the repository

git clone https://github.com/MDEGroup/jjodel.git
cd jjodel/frontend

2. Install dependencies

# Install main dependencies
npm i

# Install react-json-view (requires --force)
npm i react-json-view --force --no-save

3. Configure environment

# Set Node.js options for compatibility
export NODE_OPTIONS=--openssl-legacy-provider

4. Start in development mode

npm run start

The application will be available at http://localhost:3000

5. Build for production

# Set CI variable
CI='' npm run build

# Serve static files
npm run serve

๐Ÿณ Deploy with Docker Compose

1. Create docker-compose.yml

version: '3.8'
services:
  jjodel:
    image: md2manoppello/jjodel:latest
    ports:
      - "3000:80"
    restart: unless-stopped
    environment:
      - NGINX_ENVSUBST_TEMPLATE_SUFFIX=.template

2. Start services

docker-compose up -d

๐Ÿ”ง Troubleshooting

npm dependency errors

If you encounter errors during dependency installation:

# Clean npm cache
npm cache clean --force

# Remove node_modules and package-lock.json
rm -rf node_modules package-lock.json

# Reinstall with correct options
npm i --legacy-peer-deps
npm i react-json-view --force --legacy-peer-deps --no-save

Build errors

For build issues:

# Make sure to set environment variables
export NODE_OPTIONS=--openssl-legacy-provider
export CI=''

# Try building
npm run build

Docker issues

If Docker won't start:

# Verify Docker is running
docker --version

# On macOS, start Docker Desktop
open -a Docker

๐Ÿ“š Available Scripts

In the package.json file, these scripts are available:

# Development
npm run start          # Start in development mode
npm run build          # Build for production
npm run serve          # Serve production build

# Utilities
npm run ii             # Install dependencies (including react-json-view)
npm run dev            # Docker compose for development

๐ŸŒ Automated Deployment

GitHub Actions

The project includes automatic workflows for:

  • Docker build and push on push to master branch
  • Azure deploy on push to dotnet-backend-integration branch

Secrets Configuration

For automatic deployment, configure these secrets in GitHub:

  • DOCKER_HUB_USERNAME
  • DOCKER_HUB_PASSWORD

๐Ÿ”— Access URLs

๐Ÿ“– Additional Documentation

  • README.md - General project information
  • DOCKER_README.md - Docker-specific details
  • frontend/package.json - Dependencies and scripts configuration

โš ๏ธ Important Notes

  1. Node.js Legacy: The project requires --openssl-legacy-provider for compatibility
  2. React JSON View: Requires installation with --force due to dependency conflicts
  3. CI Variable: Set CI='' for production builds
  4. Ports: Make sure port 3000 is available

๐Ÿ†˜ Support

If you encounter issues:

  1. Check prerequisites
  2. Verify environment variables
  3. Review error logs
  4. Open an issue in the GitHub repository

โœ‰๏ธContact us

Document version: 1.0
Last updated: September 18, 2025

About

Jjodel is a cloud-native, low-code, web-based modeling platform designed to simplify the creation and evolution of domain-specific languages (DSLs). It supports modular viewpoints (syntax, validation, semantics), collaborative modeling, and seamless integration with external services .

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 81.1%
  • TypeScript 17.5%
  • SCSS 0.9%
  • CSS 0.4%
  • HTML 0.1%
  • Roff 0.0%