Skip to content

React Frontend for Conference room assisting system

License

Notifications You must be signed in to change notification settings

jenszech/crasUI

Repository files navigation

CRAS UI - Conference Room Assisting System

Release Issues License

Features

  • Gesamtübersicht aller Meetingräume und ihrer Ausstattung
  • Tasgesdetail Ansicht eine Meetingraums

Roadmap

  • CRAS auch ohne VPN erreichbar machen
    • Die Schnittstellen mit einem Auth verfahren und Token absichern
    • Speicherung und verwaltung der Tokens damit nicht täglich ein erneutes Login nötig ist
  • Das Frontend mit einem Login und User erweitern
    • Cookie & Session Handling
  • Weitere Features
    • Buchen eines Raumes unter eigenem Namen direkt aus CRAS
    • Anzeige auf der Raumübersicht ob der Raum aktuell frei ist
    • Tagesübersicht über alle Räume hinweg
    • Filtern/Suchen der Räume nach bestimmten Eigenschaften
    • Bessere Raum Detailinformation (Telefon, etc.)
    • Legende für die Eigenschaften
    • TopListen
      • Am häugisten gebuchte Räume
      • Nutzer die am häufigsten Termine überziehen
      • Nutzung der spontan Buchung

Für geplante Features und Änderungen siehe CHANGELOG.md

Teilprojekte

Das Projekt setzt sich dabei aus mehreren Modulen zusammen:

  • crasUI - Dieses Projekt stellt ein responsives React Frontend bereit
  • cras - stellt das benötigte Backend bereit
  • Optional crasBadgeIt - Ein microcontroller projekt for small ePaper devices
  • Optional crasAndroidViewer - Eine Android App mit einem einfachem fullscreen Webviewer

Getting Started

Diese Anleitung zeigt anhand einer Beispiel Installation auf dem Raspberry wie die das Frontend installiert, eingerichtet und betrieben werden kann.

Prerequisites

  • Linux umgebung (z.B Raspberry Pi 3 mit Raspbian)
  • git
  • node.js

siehe: Raspberry Setup

Installation

Installation des crasUI Projekts

git clone https://github.com/jenszech/crasUI.git
cd crasUI
npm install

Einrichten als Hintergrundprocess

Einrichten als Process mit Autostart und start des http Server

npm build
sudo npm install pm2@latest -g
pm2 serve build 5000 --name "crasUI"
pm2 startup systemd
sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u pi --hp /home/pi
pm2 list

Betrieb

Das WebInterface: http://:5000

Server Status abfragen

pm2 list

Server neustarten

pm2 restart crasUI

Update der Projekt Software

cd crasUI
git pull
pm2 restart crasUI

Entwicklung

lokales mock backend

Für die Entwicklung des Frontends kann es hilfreich sein unabhängige und verlässliche Antworten zu bekommen. Dafür besteht die Möglichkeit das verwendette Backend aus dem separaten "cras" Projekt zu mocken. Die benötigten mocks liegen unter ./src/mocks/

npm run mock-backend
==> Mockserver serving mocks {verbose:true} under "src/mocks" at http://localhost:3001

Danach kann lokal auf die API zugegriffen werden:

Available Scripts

In the project directory, you can run:

npm start

Runs the app in the development mode.
Open http://localhost:3000 to view it in the browser.

The page will reload if you make edits.
You will also see any lint errors in the console.

npm test

Launches the test runner in the interactive watch mode.
See the section about running tests for more information.

npm run build

Builds the app for production to the build folder.
It correctly bundles React in production mode and optimizes the build for the best performance.

The build is minified and the filenames include the hashes.
Your app is ready to be deployed!

See the section about deployment for more information.

Built With

Contributing

Please read CODE_OF_CONDUCT.md for details on our code of conduct, and the process for submitting pull requests to us.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Authors

See also the list of contributors who participated in this project.

License

This project is licensed under the MIT License - see the LICENSE.md file for details

##Weitere Infos: Wiki - Raspberry Setup