MCPcopy Index your code
hub / github.com/ThinhVu/mhvn

github.com/ThinhVu/mhvn @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
318 symbols 820 edges 125 files 33 documented · 10%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

MHVN

MHVN stands for MongoDB, HyperExpress, Vue, Node.js. It's an all-in-one solution for building monolith web app with Vue3, HyperExpress, MongoDB, Node.js.

Backend (be)

  • mongodb with predefined collections (User, DAU, DbMigration, HealthCheck, API Metric, FileStorage, SystemConfig, Tasks, Notification, Announcement).
  • Built-in database migration workflow.
  • Built-in authentication using JSON web token.
  • User API: predefined api to create user, modifier user profile, forgot password, recover password via email, delete account request & cancel.
  • Hmm API: query mongoose directly from the frontend side.
  • System config API: shared storage for both fe + be.
  • Notification API
  • Built-in API metric: meter api call, average ms spent on each API call.
  • Built-in cronjob workflow.
  • Built-in long task workflow.
  • App hooks.
  • Realtime: SocketIO + Redis + Cluster
  • Distributed logging support (winston + axiom)
  • Storage service: S3
  • Email sender
  • Docker script to build & publish container.
  • GitHub action auto build on release

Frontend (fe)

  • vue3 + vite + UnoCSS
  • vitest (coming soon)
  • predefined CSS rules (of course, you can use another plugin)
  • predefined Vue components: input, load data, data table, dialog service, message box, notification, image slide, image viewer, pulse block, tooltip, progress bar, spacer, icon, date time format, imgx, paging,...
  • predefined template: admin dashboard
  • built-in utility class to work with provided backend API.
  • Hmm client: query mongoose directly from the front-end side.
  • hook
  • caching
  • file uploader
  • log pipe: reading backend log directly from the frontend in realtime.
  • view logger
  • dashboard with API metric in a chart or table.
  • built-in authentication (jsonwebtoken).
  • and a lot more...

Example images

Dashboard with API metric in chart & health check admin-dashboard.png

System config system-config.png

File System file-system.png

Research

  • https://dev.to/samchon/typia-15000x-faster-validator-and-its-histories-1fmg
  • https://dev.to/samchon/i-made-express-faster-than-fastify-4h8g
  • https://github.com/honojs/hono/

TODO

  • API input validation (like zod)
  • domain driven design (considering)
  • i18n
  • unit test
  • e2e test
  • Auth0, Clerk integration
  • more UI components
  • improve Dockerfile build

Extension points exported contracts — how you extend this code

ProcessEnv (Interface)
(no doc)
be/src/env-var.ts
IAuthData (Interface)
(no doc)
be/src/utils/auth-util.ts
CreateVerifyCodeResult (Interface)
(no doc)
be/src/routes/user.route.ts
IAuthUser (Interface)
(no doc)
be/src/middlewares/auth.ts
UserProps (Interface)
(no doc)
be/src/middlewares/auth.ts

Core symbols most depended-on inside this repo

log
called by 102
be/src/utils/logger-transport-discord.ts
get
called by 45
be/src/libs/rate-limit-redis/lib.ts
m2ms
called by 31
be/src/utils/date-time-util.ts
exec
called by 25
fe/src/api/index.js
getLogger
called by 21
be/src/utils/logger.ts
getColl
called by 21
be/src/plugins/mongodb.ts
push
called by 18
fe/src/utils/caching.js
rateLimitByIp
called by 17
be/src/middlewares/rate-limit.ts

Shape

Function 251
Method 39
Class 18
Interface 8
Enum 2

Languages

TypeScript100%

Modules by API surface

be/src/models/index.ts20 symbols
be/src/logic/user.ts19 symbols
be/src/libs/rate-limit/validations.ts17 symbols
be/src/libs/rate-limit/lib.ts17 symbols
be/src/libs/rate-limit-redis/lib.ts15 symbols
be/src/utils/common-util.ts12 symbols
be/src/libs/rate-limit/memory-store.ts12 symbols
be-playground/src/helper/utils.js12 symbols
be/src/logic/notification/index.ts11 symbols
fe/src/utils/caching.js8 symbols
be/src/logic/file-system/folder.ts7 symbols
be/src/utils/s3.ts6 symbols

For agents

$ claude mcp add mhvn \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page