Class NerveMindApplication

java.lang.Object
ai.nervemind.app.NerveMindApplication

@SpringBootApplication(scanBasePackages="ai.nervemind") @EnableScheduling @EnableJpaRepositories(basePackages="ai.nervemind.app.database.repository") public class NerveMindApplication extends Object
Main entry point for the NerveMind application.

This class bootstraps both the Spring Boot backend and the JavaFX frontend, integrating them into a unified desktop application for workflow automation.

Application Architecture

┌─────────────────────────────────────────────────────────────────────────────┐
│                           NerveMind Application                              │
├─────────────────────────────────────────────────────────────────────────────┤
│  ┌─────────────────────────────┐    ┌─────────────────────────────────────┐ │
│  │     Spring Boot Backend     │    │        JavaFX Frontend              │ │
│  │  ┌───────────────────────┐  │    │  ┌───────────────────────────────┐  │ │
│  │  │   Workflow Engine     │  │    │  │     Workflow Canvas           │  │ │
│  │  │   Plugin System       │  │    │  │     Node Palette              │  │ │
│  │  │   Database (H2/SQLite)│  │    │  │     Properties Panel          │  │ │
│  │  │   REST API (optional) │  │    │  │     Execution Console         │  │ │
│  │  └───────────────────────┘  │    │  └───────────────────────────────┘  │ │
│  └─────────────────────────────┘    └─────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────────────┘

Startup Sequence

  1. Spring Boot initialization - Services, repositories, and plugins are loaded
  2. JavaFX launch - The UI is started on the JavaFX Application Thread
  3. Context injection - Spring context is passed to UI components

Command Line Options

  • --no-ui - Run in headless mode (useful for testing and CI/CD)

Module Dependencies

    app (this module)
       ├── common (shared interfaces, DTOs, domain models)
       ├── plugin-api (plugin development API)
       ├── plugins/file-watcher (bundled file trigger plugin)
       └── ui (JavaFX user interface)
Since:
1.0.0
See Also:
  • Constructor Details

    • NerveMindApplication

      public NerveMindApplication()
      Default constructor for Spring Boot.
  • Method Details

    • main

      public static void main(String[] args)
      Application entry point.

      Initializes Spring Boot first, then launches the JavaFX UI unless running in headless mode.

      Parameters:
      args - command line arguments; supports --no-ui for headless mode