Convert Figma logo to code with AI

MagicMirrorOrg logoMagicMirror

MagicMirror² is an open source modular smart mirror platform. With a growing list of installable modules, the MagicMirror² allows you to convert your hallway or bathroom mirror into your personal assistant.

19,653
4,185
19,653
59

Top Related Projects

The fairest of them all. A DIY voice controlled smart mirror with IoT integration.

⌨️ A curated list of Open Source Mechanical Keyboard resources.

Quick Overview

MagicMirror² is an open-source modular smart mirror platform. It allows users to create a personalized smart mirror display with customizable modules for information such as weather, calendar events, news, and more. The project is designed to be easily extendable and configurable, making it popular among DIY enthusiasts and developers.

Pros

  • Highly customizable with a wide range of available modules
  • Active community contributing to development and support
  • Easy to set up and configure for both beginners and advanced users
  • Cross-platform compatibility (works on various operating systems)

Cons

  • Requires some technical knowledge for initial setup and customization
  • Hardware costs can be significant for a full mirror setup
  • Some modules may require additional configuration or API keys
  • Performance can vary depending on the hardware used

Code Examples

// Example of creating a custom module
Module.register("mymodule", {
  defaults: {
    text: "Hello World!"
  },
  
  getDom: function() {
    var wrapper = document.createElement("div");
    wrapper.innerHTML = this.config.text;
    return wrapper;
  }
});
// Example of configuring modules in config.js
modules: [
  {
    module: "clock",
    position: "top_left"
  },
  {
    module: "calendar",
    position: "top_left",
    config: {
      calendars: [
        {
          symbol: "calendar-check",
          url: "https://www.calendarlabs.com/ical-calendar/ics/76/US_Holidays.ics"
        }
      ]
    }
  }
]
// Example of using the notification system
this.sendNotification("SHOW_ALERT", {
  title: "Hello World!",
  message: "This is a test notification.",
  timer: 4000
});

Getting Started

  1. Clone the repository:

    git clone https://github.com/MagicMirrorOrg/MagicMirror
    
  2. Install dependencies:

    cd MagicMirror
    npm install
    
  3. Copy the config sample file:

    cp config/config.js.sample config/config.js
    
  4. Start the application:

    npm run start
    
  5. Access the MagicMirror² interface at http://localhost:8080 in your web browser.

Competitor Comparisons

The fairest of them all. A DIY voice controlled smart mirror with IoT integration.

Pros of smart-mirror

  • Simpler setup process, potentially easier for beginners
  • Built-in voice control functionality
  • More focused on a specific set of features

Cons of smart-mirror

  • Less active development and community support
  • Fewer modules and customization options
  • Limited documentation compared to MagicMirror

Code Comparison

smart-mirror:

const express = require('express');
const app = express();
app.get('/', (req, res) => {
  res.sendFile(`${__dirname}/app/index.html`);
});

MagicMirror:

var Server = function(app, io) {
  var self = this;
  self.app = app;
  self.io = io;
  self.expressApp = express();
  self.expressApp.use(bodyParser.json());
};

Both projects use Express.js for their server-side functionality, but MagicMirror has a more structured approach with a dedicated Server class. smart-mirror's code is more straightforward, which aligns with its simpler setup process. However, MagicMirror's approach allows for more extensibility and modularity, supporting its wider range of features and customization options.

⌨️ A curated list of Open Source Mechanical Keyboard resources.

Pros of awesome-mechanical-keyboard

  • Comprehensive resource for mechanical keyboard enthusiasts, covering a wide range of topics
  • Regularly updated with new information and links
  • Community-driven content with contributions from various users

Cons of awesome-mechanical-keyboard

  • Limited functionality as it's primarily a curated list of resources
  • Lacks interactive features or practical applications
  • May require additional research to find specific information

Code comparison

As awesome-mechanical-keyboard is primarily a markdown file containing a curated list of resources, there isn't a direct code comparison to be made with MagicMirror. However, here's a snippet from the awesome-mechanical-keyboard README:

## Firmware

- [QMK](https://github.com/qmk/qmk_firmware) - Quantum Mechanical Keyboard Firmware.
- [ZMK](https://github.com/zmkfirmware/zmk) - Modern, open-source firmware for keyboards.

In contrast, MagicMirror is a full-fledged application. Here's a sample from its config.js file:

let config = {
	address: "localhost",
	port: 8080,
	ipWhitelist: ["127.0.0.1", "::ffff:127.0.0.1", "::1"],
	language: "en",
	timeFormat: 24,
	units: "metric",

The comparison highlights the different nature of these projects: awesome-mechanical-keyboard serves as an information repository, while MagicMirror is a functional application with configurable settings.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

MagicMirror²: The open source modular smart mirror platform.

License GitHub Actions Build Status

MagicMirror² is an open source modular smart mirror platform. With a growing list of installable modules, the MagicMirror² allows you to convert your hallway or bathroom mirror into your personal assistant. MagicMirror² is built by the creator of the original MagicMirror with the incredible help of a growing community of contributors.

MagicMirror² focuses on a modular plugin system and uses Electron as an application wrapper. So no more web server or browser installs necessary!

Documentation

For the full documentation including installation instructions, please visit our dedicated documentation website: https://docs.magicmirror.builders.

Links

Contributing Guidelines

Contributions of all kinds are welcome, not only in the form of code but also with regards to

  • bug reports
  • documentation
  • translations

For the full contribution guidelines, check out: https://docs.magicmirror.builders/about/contributing.html

Enjoying MagicMirror? Consider a donation!

MagicMirror² is opensource and free. That doesn't mean we don't need any money.

Please consider a donation to help us cover the ongoing costs like webservers and email services. If we receive enough donations we might even be able to free up some working hours and spend some extra time improving the MagicMirror² core.

To donate, please follow this link.

MagPi Top 50

NPM DownloadsLast 30 Days