/MTM

Multi-platform Todo-list with Minimal code

Primary LanguageJavaScriptApache License 2.0Apache-2.0

MTM

Multi-platform Todo-list with Minimal code (under construction)

A simple JavaScript-based todo-list app supports multiple platforms including:

  • web
  • iOS
  • Android
  • MacOS
  • Windows

with JavaScript technology like:

  • React
  • React Native
  • NodeJS + Express + MongoDB
  • Electron

This project is built as an example of how code is shared among different platforms using technology in JavaScript ecosystem. It can be used as a skeleton for building more complex multi-platform applications.

Progress

The following items are being constructed:

  • Shared logic (Redux)
  • Web client (React + Webpack)
  • Desktop Client (Electron)
  • Mobile Client (React Native)
  • Server (Express + MongoDB)

After the development of the skeletons, we will continue improving the implementation by:

  • Better JS code sharing implementation
  • Better style sharing
  • Tests (Jest)
  • Type-checking (Flow)

Install

Please ensure you've installed the lastest node. If not, please run brew install node first (install brew here).

Then setup the project by:

npm install

Run

Web

npm run dev-web

Open localhost:8080.

Desktop

npm run dev-desktop

iOS

npm run start-rn-server # Only run this once if you develop both iOS and Android
npm run dev-ios

Android

npm run start-rn-server # Only run this once if you develop both iOS and Android
npm run dev-android

License

MTM is released under the Apache-2.0.