GithubHelp home page GithubHelp logo

mirrordisplay's Introduction

Mirror Display

MirrorDisplay is a simple application for Android created to provide customized functionality to a "Magic Mirror". The application is heavily inspired by the original Raspberry Pi MagicMirror project, but instead of using a Pi and a separate screen, this app runs on an Android device.

When developing this application I focused on simply getting things to work rapidly, preferring iterating quickly over investing in long-term optimizations. I did my best to avoid preventing future improvements, but I know that there are still numerous areas of the code that are suboptimal and could be made more efficient/cleaner.

Functionality

The application currently supports the following "modules":

Local Time

Simple, 12-hour digital clock showing the current time of day.

Local Weather

Shows the current weather, as well as the forecast for tomorrow. This component requires the user to obtain a (free) API key from and provide the desired latitude and longitude in the settings menu.

Random Bible Verse

Show a single random verse from The Bible as well as the reference for that verse.

Quote of the Day

Shows a quote, and the speaker of said quote. Users of the application should provide a URL to a file containing quotes that they would like to be displayed. This file should be in the following JSON format:

{
  "quotes": [
    {
      "quote": "Hello, World!",
      "speaker": "Elijah Verdoorn"
    },
    {
      "quote": "Another Quote!",
      "speaker": "Someone Famous"
    },
    // ...
  ]
}

For an example, see the data/ directory of this repository. If you're looking for a host for this file, I recommend creating a Gist on GitHub.

Individual modules can be enabled and disabled in the settings menu.

Contributions

Code contributions to this repository are welcome in the form of Pull Requests. If you use this software and find a bug, feel free to create an issue here on GitHub and I'll do my best to address the problem.

mirrordisplay's People

Contributors

elijahverdoorn avatar

Stargazers

 avatar

Watchers

James Cloos avatar  avatar

mirrordisplay's Issues

Enable Re-Ordering of Components

Allowing the user to enable/disable components is nice, but it would be better to extend that functionality to allow users to not only turn components on and off but also re-organize the components on the screen.

Implementations of this feature could begin by simply allowing the items to be re-ordered, then future development could add the ability for elements to be positioned on the screen arbitrarily (i.e. anywhere within the XY-plane)

Add Question component

As a means of personal growth, I want to be able to ask myself a question every X interval.

Add App Icon

Replace the default app icon with something that represents the app.

Add welcome/splash screen

When starting the application for the first time, information should be shown to the user to indicate how to navigate to settings, as well as provide general information about the project.

Create About Page

An "About" page within the app would provide the following information to users:

  • Current app version
  • A link to this GH repo
  • A list of contributors & credits
  • Links to a privacy policy and TOS
  • Method for users to report bugs

Setup CI

Continuous integration should be supported on this repository. While there are no tests implemented at this time, ensuring that the build process completes would be a good bare-minimum check to make before PRs can be merged to master

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.