What is habitica built with?

habitica is a JavaScript repo built with Express, method-override, Vite, Vue, and vue-router. It stores its data in MongoDB, signs people in with Passport, bcrypt, cookie-session, express-basic-auth, helmet, and 3 more, takes payments with Stripe, makes its content with csv-stringify, js2xmlparser, micromustache, remove-markdown, and xml2js, validates its data with validator and express-validator, is tested with sinon, Chai, chai-as-promised, Mocha, sinon-chai, and 2 more, deploys with @google-cloud/trace-agent, morgan, and winston, and uses Redis, bullmq, and Firebase. It has 233,377 written lines, with 466 test files.

Read on November 9, 2026, at commit 12091ca. Read it as markdown

Frontend

The base 3

Interface 4

  • vuedraggable3 files
  • bootstrap-vue1 file
  • intro.js1 file
  • axios-progress-bar1 file

Backend

The base 1

Data 3

Sign-in 8

Services 2

Support

The base 1

  • method-override1 file

Content 5

  • micromustache1 file
  • csv-stringify1 file
  • js2xmlparser1 file
  • remove-markdown1 file
  • xml2js1 file

Validation 2

Testing 7

  • Vitest34 files
  • sinon12 files
  • @vue/test-utils8 files
  • Chai2 files
  • chai-as-promised2 files
  • Mocha1 file
  • sinon-chai3 files

Deploy 3

Tools 7

  • gulp6 files
  • Babel2 files
  • glob2 files
  • gulp-babel1 file
  • rimraf2 files
  • gulp-filter1 file
  • ps-tree1 file

Other 20

  • Lodash270 files
  • moment94 files
  • uuid56 files
  • Axios55 files
  • @parse/node-apn1 file
  • @slack/webhook1 file
  • chalk1 file
  • got1 file
  • nconf78 files
  • cwait8 files
  • superagent2 files
  • accepts1 file
8 more
  • body-parser1 file
  • compression1 file
  • cross-spawn1 file
  • merge-stream1 file
  • on-headers1 file
  • rate-limiter-flexible1 file
  • short-uuid1 file
  • stopword1 file

Other repos with a similar stack

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

Frequently asked questions

What language is habitica written in?
habitica is written in JavaScript, with 233,377 written lines.
What framework does habitica use?
habitica is built with Express, method-override, Vite, Vue, and vue-router.

The proof: in package.json

What database does habitica use?
habitica stores its data in MongoDB.

The proof: website/server/models/user/index.js, line 1

What does habitica sign people in with?
habitica signs people in with Passport, bcrypt, cookie-session, express-basic-auth, helmet, jsonwebtoken, jwks-rsa, and passport-google-oauth20.
What does habitica take payments with?
habitica takes payments with Stripe.

The proof: website/server/libs/payments/stripe/api.js, line 1

What services does habitica use?
habitica uses Redis, bullmq, and Firebase.

The proof: website/server/libs/redis.js, line 1

Does habitica have tests?
Yes. habitica has 466 test files and is tested with sinon, Chai, chai-as-promised, Mocha, sinon-chai, Vitest, and @vue/test-utils.
Which repos have a stack like habitica's?
The ones that share most of its stack:n8n-io/n8ntwentyhq/twentyLibreChat-AI/LibreChat

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 →