Source: https://seerepo.com/r/whyour/qinglong/built
Markdown source: https://seerepo.com/r/whyour/qinglong/built.md
Description: qinglong is a TypeScript repo built with React and Express. It reaches it with Sequelize and signs people in with jsonwebtoken, express-jwt, and helmet.

# What is qinglong built with?

qinglong is a TypeScript repo built with React and Express. It reaches it with Sequelize, signs people in with jsonwebtoken, express-jwt, and helmet, makes its content with js-yaml, nodemailer, and qrcode.react, deploys with winston and winston-daily-rotate-file, and uses keyv and SQLite. It has 95,710 written lines, with 233 test files.

Read on November 5, 2026, at commit 41910b5.

Repository: https://github.com/whyour/qinglong

## Frontend (/)

### The base

- **[React](https://seerepo.com/uses/react)**: 55 files

### Interface

- **antd**: 53 files
- **[monaco-editor](https://seerepo.com/uses/monaco-editor)**: 9 files
- **ansi-to-react**: 6 files
- **uiw**: 5 files
- **@react-hook/resize-observer**: 4 files
- **react-dnd**: 3 files
- **react-dnd-html5-backend**: 3 files
- **[react-hotkeys-hook](https://seerepo.com/uses/react-hotkeys-hook)**: 2 files
- **@ant-design/plots**: 1 file
- **antd-img-crop**: 1 file
- **[CodeMirror](https://seerepo.com/uses/codemirror)**: 1 file
- **rc-tween-one**: 1 file
- **rc-virtual-list**: 1 file
- **react-copy-to-clipboard**: 1 file

### Icons

- **Ant Design**: 27 files

## Backend (/)

### The base

- **[Express](https://seerepo.com/uses/express)**: 31 files · [in package.json](https://github.com/whyour/qinglong/blob/41910b523608d3e8b5f66c63539bee73a1deff62/package.json)

### Data

- **keyv**: 1 file
- **[SQLite](https://seerepo.com/uses/sqlite)**: 1 file · [back/data/index.ts, line 6](https://github.com/whyour/qinglong/blob/41910b523608d3e8b5f66c63539bee73a1deff62/back/data/index.ts#L6)

### Data access

- **Sequelize**: 23 files

### Sign-in

- **[jsonwebtoken](https://seerepo.com/uses/jsonwebtoken)**: 2 files
- **express-jwt**: 1 file
- **[helmet](https://seerepo.com/uses/helmet)**: 1 file

## Support (/)

### Content

- **[js-yaml](https://seerepo.com/uses/js-yaml)**: 1 file
- **[nodemailer](https://seerepo.com/uses/nodemailer)**: 1 file
- **[qrcode.react](https://seerepo.com/uses/qrcodereact)**: 1 file

### Deploy

- **[winston](https://seerepo.com/uses/winston)**: 24 files
- **winston-daily-rotate-file**: 1 file

### Tools

- **TypeScript**: 24 files
- **ts-node**: 3 files
- **ps-tree**: 1 file

### Other

- **dayjs**: 18 files
- **grpc**: 13 files
- **Lodash**: 13 files
- **undici**: 6 files
- **cross-spawn**: 5 files
- **proper-lockfile**: 5 files
- **cron-parser**: 4 files
- **multer**: 4 files
- **reflect-metadata**: 4 files
- **@bufbuild/protobuf**: 3 files
- **ahooks**: 3 files
- **express-rate-limit**: 3 files
- **file-saver**: 3 files
- **cors**: 2 files
- **node-cron**: 2 files
- **pretty-bytes**: 2 files
- **sockjs**: 2 files
- **uuid**: 2 files
- **.ENV**: 1 file
- **Axios**: 1 file
- **body-parser**: 1 file
- **compression**: 1 file
- **moment**: 1 file
- **query-string**: 1 file
- **sockjs-client**: 1 file
- **tar**: 1 file

## Support (cli)

### Tools

- **TypeScript**: 3 files
- **commander**: 1 file

### Other

- **tar**: 1 file

## Other repos with a similar stack

- [CherryHQ/cherry-studio](https://seerepo.com/r/CherryHQ/cherry-studio/built): React, SQLite, ansi-to-react, uiw, react-hotkeys-hook, CodeMirror, qrcode.react, winston, winston-daily-rotate-file · [Compare](https://seerepo.com/compare/CherryHQ/cherry-studio/vs/whyour/qinglong)
- [immich-app/immich](https://seerepo.com/r/immich-app/immich/built): React, Express, SQLite, jsonwebtoken, helmet, js-yaml, nodemailer · [Compare](https://seerepo.com/compare/immich-app/immich/vs/whyour/qinglong)
- [nocodb/nocodb](https://seerepo.com/r/nocodb/nocodb/built): React, Express, SQLite, monaco-editor, CodeMirror, jsonwebtoken, nodemailer · [Compare](https://seerepo.com/compare/nocodb/nocodb/vs/whyour/qinglong)
- [twentyhq/twenty](https://seerepo.com/r/twentyhq/twenty/built): React, Express, keyv, monaco-editor, react-hotkeys-hook, jsonwebtoken, nodemailer · [Compare](https://seerepo.com/compare/twentyhq/twenty/vs/whyour/qinglong)
- [usebruno/bruno](https://seerepo.com/r/usebruno/bruno/built): React, Express, react-dnd, react-dnd-html5-backend, react-copy-to-clipboard, jsonwebtoken, js-yaml · [Compare](https://seerepo.com/compare/usebruno/bruno/vs/whyour/qinglong)
- [n8n-io/n8n](https://seerepo.com/r/n8n-io/n8n/built): Express, SQLite, CodeMirror, jsonwebtoken, nodemailer, winston · [Compare](https://seerepo.com/compare/n8n-io/n8n/vs/whyour/qinglong)

## Frequently asked questions

### What language is qinglong written in?

qinglong is written in TypeScript, with 95,710 written lines.

### What framework does qinglong use?

qinglong is built with React and Express.

### What does qinglong sign people in with?

qinglong signs people in with jsonwebtoken, express-jwt, and helmet.

### What services does qinglong use?

qinglong uses keyv and SQLite.

### Does qinglong have tests?

Yes. qinglong has 233 test files.

### Which repos have a stack like qinglong's?

The ones that share most of its stack: CherryHQ/cherry-studio, immich-app/immich, and nocodb/nocodb.

## What is your repo built with?

Any public repo, with no account: https://seerepo.com/r/owner/repo/built, with the owner and name it has on GitHub.
