Tool & Packages | Why? |
---|---|
TypeScript | Easier to debug type errors for me |
Node | Easy to to set up and run |
TypeORM | Need to compare it with Sequelize (Great migrations) |
mqtt client | Easy to set up node client |
node-influx client | Hard but supported officially, Support for Influx v2.* |
React Tailwind | Brilliant for poor stylists like myself |
MySQL, AWS RDS | One time easy set up |
Fastify | Faster && lighter http operations |
Mostly for ease of me collaborating with myself and work concurrently.
- NodeJS V12 and above
The backend side of the project relies heavily on environment variables. I have accompanied a relevant .env file in the root of the backend project. It can be used as it is, or reference can be made to it.
- Clone the project
- In the root of the backend folder, install all the packages
npm install
- Start the project
npm run start
- In the root of the frontend folder, install all the packages
npm install
- Start the project
npm run start
The backend Swagger UI can be found here: http://localhost:9191/documentation
The UI dashboard can be found here:http://localhost:3000
- Flux query Language in custom aggregation is not easy to understand
- Broken Broker. The MQTT Broker broke and was sometimes being misused.
Please see responses here