Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/natterstefan/clockbot-3000

Ich bin ein #ummahüsla (https://uh19.diin.io) Hackathon Projekt. #TeamAwesome3000
https://github.com/natterstefan/clockbot-3000

docker mqtt react-app

Last synced: 23 days ago
JSON representation

Ich bin ein #ummahüsla (https://uh19.diin.io) Hackathon Projekt. #TeamAwesome3000

Awesome Lists containing this project

README

        

# Clockbot 3000

[![ummahüsla 2019 badge](https://img.shields.io/badge/ummah%C3%BCsla%202019-hackathon-brightgreen.svg)](https://uh19.diin.io/)
[![All Contributors](https://img.shields.io/badge/all_contributors-6-orange.svg?style=flat-square)](#contributors)
[![GitHub license](https://img.shields.io/github/license/natterstefan/clockbot-3000.svg)](https://github.com/natterstefan/clockbot-3000/blob/master/LICENCE)
[![Twitter](https://img.shields.io/twitter/url/https/github.com/natterstefan/clockbot-3000.svg?style=social)](https://twitter.com/intent/tweet?text=https://github.com/natterstefan/clockbot-3000%20%23ummahüsla)

Stay tuned :alarm_clock:.

## Setup

Install main dependencies

```bash
yarn
```

[Lerna](https://github.com/lerna/lerna) will install all dependencies in the
packages (eg. [react app](./packages/app)) for you.

## AWTRIX 2.0

For this project we are installing and setting up an AWTRIX 2.0 (AWesome maTRIX)
DIY intelligent clock. The documentation and partslist is available here: [https://docs.blueforcer.de/#/v2/README](https://docs.blueforcer.de/#/v2/README)

## How to get started

Start the MQTT Broker:

```bash
cd docker
docker-compose up -d
```

Before you start create `.env` files from the `.env.example` ones, and change
the IPs in the `.env` files:

- [.env.example for app](src/app/.env.example)
- [.env.example for node](src/node/.env.example)

Now, start the node app and react server with `yarn start`. Lerna will then
start all packages with a `start` script. If you want to start them manually,
execute the following commands.

```bash
# receives and logs the messages in the terminal
cd src/node && node server

# starts the browser app and can send a message to the mqtt broker
cd src/app && yarn start
```

You can test if the mqtt broker and server works, by executing:

```bash
# sends a message (in this case "hello") from the terminal to the mqtt broker
cd src/node && node index hello
```

## How to install dependencies

Add a common dependency to all packages:

```bash
npx lerna add the-dep-name
```

Add a dependency to only one package:

```bash
npx lerna add the-dep-name --scope
```

The package-name is the name of a package in it's package.json. For instance:
`mqtt-client` in [packages/node/package.json](./packages/node/package.json).

Add a common devDependency to the root:

```bash
yarn add husky --dev -W
```

## How to remove dependencies

```bash
lerna exec -- yarn remove dep-name
```

## Twitter

Official Clockbot3000 Twitter account: [https://twitter.com/clockbot3000](https://twitter.com/clockbot3000)

## Licence

[MIT](LICENCE)

## Contributors ✨

Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):


Stefan Natter
Stefan Natter

💻 📖 🤔
Jan Amann
Jan Amann

💻 📖 🤔
Philip Heimböck
Philip Heimböck

💻 🤔 📖
felipep
felipep

📢 🤔
Barnabas Jovanovics
Barnabas Jovanovics

🤔
Alex
Alex

🤔 💻

This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!

### How to add Contributors

Either with the installed [allcontributors bot](https://allcontributors.org/docs/en/bot/usage)
or with the [allcontributors cli](https://allcontributors.org/docs/en/cli/installation).
The cli is already installed and can be [used like this](https://allcontributors.org/docs/en/bot/usage):

```bash
yarn all-contributors add
```

Emoji Key ✨ (and Contribution Types) are available [here](https://allcontributors.org/docs/en/emoji-key).