/sensorium

Challenge from a software company in Brazil

Primary LanguageTypeScript

Sensorium

Initial Stack

Prerequisites:

  • Docker Engine
  • Docker Compose
  • VS Code with Remote Explorer extension (Docker Extension can help as well)

Running Locally

  • Run the command below in repo root:
docker-compose up --build

Development Guidelines

  • Run the command below in repo root:
docker-compose -f dev-docker-compose.yml up --build
  • Wait a bit
  • backend and frontend containers will be running but not their apps! Database container will be running as well.
  • Since we're mounting volumes on the frontend and backend containers, any changes made on the code inside the container will reflect on the repo directory and vice versa.

Backend Development

  • Attach shell or VS Code to the backend container (seback-dev)
  • Make the changes you wish!
  • Run the following to start the application:
root@6a4798d5b5aa:/Sensorium# dotnet run

Frontend Development

  • Attach shell or VS Code to the frontend container (sefront-dev)
  • Run the following to download dependencies (you won't need to do this again as long as you keep the folder on /frontend/Sensorium/node_modules):
/Sensorium # npm install
  • Make the changes you wish!
  • Run the following to start the application:
/Sensorium # npm start

If I had more time I would...

  • Check if InfluxDB and Grafana can be a better solution
  • Fix table reload (only loading new data while changing pagination/entering filter text, but requests are happening)
  • Add endpoint to retrieve number of events in the last hour
  • Unit tests for backend
  • Unit tests for frontend (there's only the angular default tests there)
  • Finish CICD.md
  • Create UML.md
  • Incorporate KeyCloak
  • Adjust current CICD script to Azure