MagicMirror² v2.14.0 is available! For more information about this release, check out this topic.

Core of MagicMirror

  • Which database do magic mirror use?
    And what is the functionality of Magic Mirror at the core?
    I mean how it works?
    Can anyone please explain…

  • Module Developer

    MM doesn’t use any database by default.
    And how it works…

    Basically, Role of MM core is just searching modules with config.js and loading them into memory. If it needs, it executes node_helper.js also. MM run start point of each module and gather the result of getDom() and show them on screen.
    Sometimes, MM handles to carry notification among the modules and socketNotification between the module and node_helper.

    Well. enough?

  • Which database does it use??

  • Module Developer

    @yours.mukul said in Core of MagicMirror:

    Which database does it use??

    Nothing. Should it?

  • Well I read from internet that a nodejs application must be connected to a database that’s why I’m askin

  • Module Developer

    @yours.mukul said in Core of MagicMirror:

    Well I read from internet that a nodejs application must be connected to a database that’s why I’m askin

    NoSQL type databases are working with nodeJS frequently, however, that is optional.

  • Actually I need to explain MagicMirror to my Teacher, so can you please elaborate everything about it??

  • Project Sponsor

    @yours.mukul Heh. All right, short version:

    Magic Mirror is a modularized application that is written using NodeJS, the Electron application framework and a mix of Javascript and Python programming languages. It does not use a database for state information. Instead, the Magic Mirror application uses a configuration file that determines how the application loads and run a series of modules.

    The Electron application framework is responsible for coordinating between the back-end NodeJS processes and the front-end Javascript processes. The electron application is also responsible for rendering the interface onto the screen via a built-in web browser (Chromium).

    When a module starts up (as directed by the main application), that module returns a chunk of HTML code that the application will then render and place upon the interface. If the module needs information from another source (RSS feed, weather information, sports scores, whatever), the application framework has hooks that allow a node process to retrieve/generate that information and then present it to front-end module code. Any state information is stored in memory and is regularly replaced by the back end process.

    I hope that clarifies things.

Log in to reply