What is thingsboard built with?

thingsboard is a Java repo built with org.springframework.boot:spring-boot-starter-web, grpc-services, org.apache.tomcat.embed:tomcat-embed-websocket, tomcat-embed-core, tomcat-embed-el, and 3 more. It stores its data in com.github.ben-manes.caffeine:caffeine, Postgres, RocksDB, and org.apache.zookeeper:zookeeper, reaches it with org.springframework.data:spring-data-commons and org.springframework.boot:spring-boot-starter-data-jpa, signs people in with org.springframework.boot:spring-boot-starter-security, spring-security-oauth2-client, and com.auth0:java-jwt, connects to Google, makes its content with metadata-extractor, org.apache.pdfbox:pdfbox, Apache, org.freemarker:freemarker, yaml, and 4 more, validates its data with jakarta.validation:jakarta.validation-api and Hibernate, is tested with junit-jupiter, org.springframework.boot:spring-boot-starter-test, rest-assured, junit:junit, org.assertj:assertj-core, and 6 more, deploys with commons-logging, log4j-over-slf4j, micrometer-registry-prometheus, org.springframework.boot:spring-boot-starter-actuator, io.micrometer:micrometer-core, and 5 more, and uses curator-recipes, jedis, org.springframework.data:spring-data-redis, PostgreSQL, Redis, and 1 more. It has 1,193,655 written lines, with 1,443 test files.

Read on November 4, 2026, at commit e48b578. Read it as markdown

Frontend

The base 1

Styles 1

Interface 7

  • angular702 files
  • Leaflet29 files
  • echarts14 files
  • SVG.js10 files
  • MapLibre1 file
  • screenfull1 file
  • ace-builds25 files

Backend

The base 2

Data 9

Data access 2

  • org.springframework.boot:spring-boot-starter-data-jpa166 files
  • org.springframework.data:spring-data-commons

Sign-in 3

  • org.springframework.boot:spring-boot-starter-security
  • com.auth0:java-jwt2 files
  • spring-security-oauth2-client

Services 2

Support

The base 5

  • Spring1,549 files
  • org.apache.tomcat.embed:tomcat-embed-websocket
  • grpc-services
  • tomcat-embed-core
  • tomcat-embed-el

Content 9

  • yaml6 files
  • Apache1 file
  • marked1 file
  • qrcode5 files
  • ngx-markdown3 files
  • org.apache.pdfbox:pdfbox2 files
  • html2canvas1 file
  • org.freemarker:freemarker1 file
  • metadata-extractor

Validation 2

  • Hibernate1 file
  • jakarta.validation:jakarta.validation-api195 files

Testing 11

  • playwright-core3 files
  • playwright-chromium1 file
  • org.springframework.boot:spring-boot-starter-test
  • junit:junit1,104 files
  • org.assertj:assertj-core674 files
  • org.awaitility:awaitility143 files
  • org.hamcrest:hamcrest61 files
  • org.testcontainers:testcontainers43 files
  • org.apache.curator:curator-test1 file
  • junit-jupiter
  • rest-assured

Deploy 10

  • winston4 files
  • winston-daily-rotate-file3 files
  • org.springframework.boot:spring-boot-starter-actuator
  • io.micrometer:micrometer-core8 files
  • org.slf4j:slf4j-api8 files
  • ch.qos.logback:logback-core6 files
  • ch.qos.logback:logback-classic5 files
  • commons-logging
  • log4j-over-slf4j
  • micrometer-registry-prometheus

Tools 7

  • @angular/compiler2 files
  • @ngrx/store-devtools1 file
  • com.google.errorprone:error_prone_annotations1 file
  • js-beautify1 file
  • org.projectlombok:lombok3,227 files
  • jsr305
  • swagger-annotations-jakarta

Other 57

  • NgRx859 files
  • rxjs781 files
  • @ngx-translate/core553 files
  • moment18 files
  • moment-timezone4 files
  • com.google.api:gax3 files
  • core-js1 file
  • http-proxy1 file
  • zone.js1 file
  • com.google.protobuf:protobuf-java
  • org.apache.httpcomponents.client5:httpclient5
  • org.springframework.boot:spring-boot-starter-websocket
45 more
  • com.fasterxml.jackson:jackson-bom1,025 files
  • jakarta.annotation:jakarta.annotation-api231 files
  • org.apache.commons:commons-lang3138 files
  • com.fasterxml.jackson.core:jackson-databind64 files
  • io.netty:netty-handler56 files
  • org.apache.commons:commons-collections443 files
  • tinycolor231 files
  • javax.annotation:javax.annotation-api16 files
  • io.grpc:grpc-stub12 files
  • io.grpc:grpc-api11 files
  • io.grpc:grpc-netty-shaded4 files
  • fs-extra3 files
  • jakarta.xml.bind:jakarta.xml.bind-api3 files
  • software.amazon.awssdk:bom3 files
  • com.fasterxml.jackson.dataformat:jackson-dataformat-cbor2 files
  • com.jayway.jsonpath:json-path2 files
  • org.apache.httpcomponents:httpclient2 files
  • com.fasterxml.jackson.datatype:jackson-datatype-jdk81 file
  • com.fasterxml.jackson.datatype:jackson-datatype-jsr3101 file
  • com.ibm.icu:icu4j1 file
  • compression1 file
  • org.apache.commons:commons-compress1 file
  • org.xerial.snappy:snappy-java1 file
  • tslib1 file
  • bcpkix-jdk18on
  • bcprov-jdk18on
  • bcutil-jdk18on
  • byte-buddy
  • byte-buddy-agent
  • commons-codec
  • commons-io
  • grpc-core
  • grpc-inprocess
  • grpc-protobuf
  • httpcore5
  • jaxb-api
  • joda-time
  • lz4-java
  • netty-all
  • netty-bom
  • netty-tcnative-boringssl-static
  • netty-transport-native-epoll
  • reactor-netty-http
  • snakeyaml
  • zstd-jni

Other repos with a similar stack

Ordered by how much of its stack they share with thingsboard, then by stars.

Frequently asked questions

What language is thingsboard written in?
thingsboard is written in Java, with 1,193,655 written lines.
What framework does thingsboard use?
thingsboard is built with org.springframework.boot:spring-boot-starter-web, grpc-services, org.apache.tomcat.embed:tomcat-embed-websocket, tomcat-embed-core, tomcat-embed-el, Spring, Express, and Angular.
What database does thingsboard use?
thingsboard stores its data in com.github.ben-manes.caffeine:caffeine, Postgres, RocksDB, and org.apache.zookeeper:zookeeper and reaches it with org.springframework.data:spring-data-commons and org.springframework.boot:spring-boot-starter-data-jpa.
What does thingsboard sign people in with?
thingsboard signs people in with org.springframework.boot:spring-boot-starter-security, spring-security-oauth2-client, and com.auth0:java-jwt.
What services does thingsboard use?
thingsboard connects to Google and uses curator-recipes, jedis, org.springframework.data:spring-data-redis, PostgreSQL, Redis, and Kafka.

The proof: application/src/main/java/org/thingsboard/server/controller/SignUpController.java, line 8

Does thingsboard have tests?
Yes. thingsboard has 1,443 test files and is tested with junit-jupiter, org.springframework.boot:spring-boot-starter-test, rest-assured, junit:junit, org.assertj:assertj-core, org.awaitility:awaitility, org.hamcrest:hamcrest, org.testcontainers:testcontainers, org.apache.curator:curator-test, playwright-core, and playwright-chromium.
Which repos have a stack like thingsboard's?

See inside your code, today.

Paste your repo and see it drawn, part by part: a medium one in under a minute.

Free, no account.

Or look inside SeeRepo's own →

Is it your repo? Add its badge, keep it up to date or take it down →