Skip to content

Bachelor's project - A modulable services & devices integration & visualization application

Notifications You must be signed in to change notification settings

nicrausaz/tb-modularapp

Repository files navigation


Logo

Modular App

A modulable services and devices integration application

About The Project

Logo

Modular App is a modular application that allows to create integrations between various devices and services. It is based on a modular architecture that allows to develop new modules and integrate them into the application easily.

It's main goal is to provide a simple way for users to create integrations and to provide a simple way for developers to create new modules.

It's main features are:

  • Modules: independent packages that can be imported into the application, enabled and configured by the user.

  • Visualisation: creation of dashboard to visualise real-time data from the modules.

  • Automation: react to events and trigger actions.

  • LAN based & API: provides an UI and a local API that allows integration with other applications and devices within the local network.

This project was developped for my Bachelor Thesis (TB) of the Software Engineering Bachelor of Science at HEIG-VD in 2023.

(back to top)

Built With

This section should list any major frameworks/libraries used to bootstrap your project. Leave any add-ons/plugins for the acknowledgements section. Here are a few examples.

  • React
  • Node
  • Docker
  • TypeScript

(back to top)

Getting Started

This is an example of how you may give instructions on setting up your project locally. To get a local copy up and running follow these simple example steps.

Prerequisites

This is an example of how to list things you need to use the software and how to install them.

Installation

Below are a few examples and usefull monorepo commands to get you started with the application.

  1. Clone the repo

  2. Install NPM packages

    npm install
  3. Build the application

    npm run build -W
  4. Copy and fill the .env file

    cp ./packages/server/.env.example ./packages/server/.env
     JWT_SECRET = <generate a random string>
     PORT = 3000
     ENV = development
     DB_DIR = <path_to>/tb-modularapp/packages/server/src/database
     MODULES_DIR = <path_to>/tb-modularapp/packages/server/modules
     PUBLIC_DIR = <path_to>/tb-modularapp/packages/server/public
  5. Start the backend

    npm run start -w packages/server
  6. Start the frontend

     npm run dev -w packages/frontend

(back to top)

Contact

Nicolas Crausaz - Website

(back to top)

Acknowledgments

Check out these projects that helped me build this application:

(back to top)

About

Bachelor's project - A modulable services & devices integration & visualization application

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages