Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/alexandrelamberty/nidus-web-app

:diamond_shape_with_a_dot_inside: Home Automation and Monitoring Web Application.
https://github.com/alexandrelamberty/nidus-web-app

dashboard home-monitoring react webapp widgets

Last synced: about 13 hours ago
JSON representation

:diamond_shape_with_a_dot_inside: Home Automation and Monitoring Web Application.

Awesome Lists containing this project

README

        

[![Docker](https://github.com/alexandrelamberty/nidus-web-app/actions/workflows/docker.yaml/badge.svg)](https://github.com/alexandrelamberty/nidus-web-app/actions/workflows/docker.yaml)
[![React](https://github.com/alexandrelamberty/nidus-web-app/actions/workflows/node.yaml/badge.svg)](https://github.com/alexandrelamberty/nidus-web-app/actions/workflows/node.yaml)
[![Codacy Badge](https://app.codacy.com/project/badge/Grade/93b0784667b642d7ab8dba6dd2d1e910)](https://www.codacy.com/gh/alexandrelamberty/nidus-web-app/dashboard?utm_source=github.com&utm_medium=referral&utm_content=alexandrelamberty/nidus-web-app&utm_campaign=Badge_Grade)
[![codecov](https://codecov.io/gh/alexandrelamberty/nidus-web-app/branch/master/graph/badge.svg?token=CHR4ZPB660)](https://codecov.io/gh/alexandrelamberty/nidus-web-app)
[![DockerHub](https://img.shields.io/badge/DockerHub-images-important.svg?logo=Docker)](https://hub.docker.com/r/alexandrelamberty/nidus-web-app)

# Nidus Web Application

Home monitoring web application part of the
[Nidus](https://github.com/alexandrelamberty/nidus) project.

This application use the [Nidus API](https://github.com/alexandrelamberty/nidus-api)

## Features

- [ ] Dashboard
- [ ] Widgets
- [ ] Sensors
- [ ] Humidity
- [ ] Temperature
- [ ] Pressure
- [ ] Motion
- [ ] Devices
- [ ] Weather
- [ ] Manage your devices
- [ ] View statistics

## Technolgies and frameworks

- [React](https://reactjs.org/)
- [Redux](https://redux-toolkit.js.org/)
- [TaildindCSS](https://tailwindcss.com/)

## Usage

This application is part of a Docker stack and rely on a Go api service. see:
[Nidus](https://github.com/alexandrelamberty/nidus) project to launch the
complete stack or only specific services.

## Run with NPM

If the api service is up and running, create an .env file and fill it
accordingly with the service configuration.

```properties
REACT_APP_API_URL=http://localhost:3333
```

Run the application

```bash
npm run start
```

Go to [http://localhost:3000]

## Test with NPM

At the moment only some tests for the routes and components are avalable!

```bash
npm run test
```

## Build and run with Docker

As we use Nginx to serve our application, we don't have access to the Node
environment variables.
> Environment variables injection for React, see: [environment.sh](environment.sh) \
> FIXME: The image build need a .env file to provide variables to be read and updated
Switch to key/value env variable!

Build the image, see: [Dockerfile](./Dockerfile).

```bash
docker build . -t alexandrelamberty/nidus-web:latest
```

Run the image, we specify the ports mapping, environment variables file and
network to join.

```bash
docker run -p 3000:3000 --network=nidus_default --env-file .env --name nidus-web -d alexandrelamberty/nidus-web:latest
```