Skip to content

Tech Stack

api.myeasyguide.com (Express REST API)

CategoryTechnology
RuntimeNode.js 20+
LanguageTypeScript 5.9
Package Managerpnpm 10
FrameworkExpress 5
Database ORMPrisma 7.1 + @prisma/adapter-pg
DatabasePostgreSQL 15+
ValidationZod
AuthJWT (jsonwebtoken), bcrypt, cookie-parser
PaymentsStripe SDK 18
EmailResend
AIAnthropic Claude SDK
SearchTypesense (configured but currently disabled)
RecommendationsRecombee (recombee-api-client)
Image ProcessingSharp
Image DeliveryCloudflare Images
File UploadMulter (memory storage, 10MB limit)
Exportxlsx (Excel), csv-parser
API Documentationswagger-jsdoc + swagger-ui-express
Securityhelmet, cors, express-rate-limit
LoggingWinston, Morgan
Error TrackingSentry
Cronnode-cron
Developmentts-node-dev, ESLint (typescript-eslint), Husky

Key packages

json
{
  "express": "^5.0.0",
  "@prisma/client": "^7.1.0",
  "stripe": "^18.0.0",
  "@anthropic-ai/sdk": "^0.39.0",
  "recombee-api-client": "^4.3.0",
  "sharp": "^0.34.0",
  "resend": "^4.0.0"
}

cms-myeasyguide (Next.js CMS)

CategoryTechnology
RuntimeNode.js 20+
LanguageTypeScript 5
Package Managerpnpm 10
FrameworkNext.js 16.2.6 (App Router)
Database ORMPrisma 7.8
DatabasePostgreSQL 15+
AuthJWT (jose library), cookies
AIAnthropic Claude SDK (batch API)
Rich Text EditorLexical 0.29
UI ComponentsRadix UI, shadcn/ui
IconsTabler Icons, Lucide React
Formsreact-hook-form + @hookform/resolvers + Zod
StateZustand
Data FetchingTanStack React Query
TablesTanStack React Table
StylingTailwind CSS 4, class-variance-authority, clsx, tailwind-merge
NotificationsSonner (toasts)
Schedulingnode-cron (publish scheduled posts)
DevelopmentESLint 9, Husky

Key packages

json
{
  "next": "^16.2.6",
  "@prisma/client": "^7.8.0",
  "@anthropic-ai/sdk": "^0.39.0",
  "lexical": "^0.29.0",
  "@tanstack/react-query": "^5.0.0",
  "@tanstack/react-table": "^8.0.0",
  "zustand": "^5.0.0",
  "react-hook-form": "^7.0.0"
}

myeasyguide.com (Public Frontend)

CategoryTechnology
RuntimeNode.js 20+
LanguageTypeScript 5
Package Managerpnpm 10
FrameworkNext.js 15.5.9 (App Router, Turbopack)
Database ORMPrisma 6.18 (client only)
Rich Text RenderingLexical 0.39, Quill
UI ComponentsRadix UI, shadcn/ui
IconsTabler Icons, Lucide React
Formsreact-hook-form + @hookform/resolvers + Zod
StateZustand
Data FetchingTanStack React Query + DevTools
TablesTanStack React Table
StylingTailwind CSS 4, SCSS/Sass, tw-animate-css
AnimationsFramer Motion
Drag & Drop@dnd-kit
ChartsRecharts
Datesdate-fns, react-day-picker
Sharingreact-share
SEOnext-sitemap
Themesnext-themes
Utilitieslodash, use-debounce, jwt-decode
DevelopmentESLint 9, Husky

Key packages

json
{
  "next": "^15.5.9",
  "@prisma/client": "^6.18.0",
  "lexical": "^0.39.0",
  "@tanstack/react-query": "^5.0.0",
  "@tanstack/react-table": "^8.0.0",
  "framer-motion": "^12.0.0",
  "recharts": "^2.0.0",
  "@dnd-kit/core": "^6.0.0",
  "next-sitemap": "^4.0.0",
  "react-share": "^5.0.0"
}

Third-Party Services

ServicePurposeUsed By
StripePayment processing (Checkout Sessions, webhooks)API
Cloudflare ImagesImage hosting and CDN deliveryAPI, Frontend
ResendTransactional emails (verification, password reset, newsletter)API
Anthropic ClaudeAI blog post generationCMS (batch API), API (legacy)
RecombeeML recommendations ("You may also like")API
TypesenseFull-text search (currently disabled)API
SentryError tracking and performance monitoringAPI
ImageKitImage optimization (configured as Next.js remote pattern)Frontend

Built with VitePress