Introduction

Tech Stack

A comprehensive look at the technologies powering Nuda Kit.

Nuda Kit is built on a modern, type-safe foundation designed for scalability and developer experience. We chose these tools because they are battle-tested, popular in the community, and provide the best separation of concerns between your user interface and your business logic.

Frontend

The frontend is a standalone Single Page Application (SPA) that communicates with the backend via a REST API.

Core Framework

TechnologyVersionDescription
Nuxt4.xThe intuitive Vue framework with auto-imports, file-based routing, and SSR/SPA modes
Vue3.5The progressive JavaScript framework with Composition API
TypeScript5.xType-safe JavaScript for better DX and fewer bugs

Styling & UI

TechnologyDescription
Tailwind CSS v4Utility-first CSS framework for rapid UI development
shadcn-vueRe-usable components built with Reka UI and Tailwind CSS
Reka UIUnstyled, accessible UI primitives (Radix Vue successor)
Lucide IconsBeautiful & consistent icon library
GSAPProfessional-grade animations
shadcn-vue components are not installed as a dependency—they're copied into your codebase, giving you full control over the design and behavior.

State & Data

TechnologyDescription
PiniaType-safe store for Vue state management
TanStack QueryPowerful data fetching with caching, background updates, and stale-while-revalidate
TanStack TableHeadless UI for building powerful tables and datagrids
VeeValidateForm validation with Zod schema integration

Utilities

TechnologyDescription
VueUseCollection of essential Vue composition utilities
date-fnsModern JavaScript date utility library
UnovisModular data visualization framework
vue-sonnerToast notifications
@nuxtjs/color-modeDark mode support
@nuxtjs/seoSEO utilities and meta management
@nuxt/imageImage optimization

Backend

The backend is a robust REST API built with AdonisJS v6. It handles all business logic, database interactions, queues, and authentication.

Core Framework

TechnologyVersionDescription
AdonisJS6.xFull-featured, TypeScript-first web framework for Node.js
TypeScript5.8Type-safe JavaScript

Database & ORM

TechnologyDescription
Lucid ORMAdonisJS's official SQL ORM with Active Record pattern
PostgreSQLThe world's most advanced open-source relational database

Authentication & Authorization

TechnologyDescription
@adonisjs/authSession and token-based authentication
@adonisjs/allySocial authentication (Google, GitHub, Facebook)
@adonisjs/bouncerAuthorization and access control policies
@adonisjs/limiterRate limiting for API protection

Validation & API

TechnologyDescription
VineJSHigh-performance form validation library
adonis-autoswaggerAutomatic Swagger/OpenAPI documentation

Email & Templates

TechnologyDescription
@adonisjs/mailEmail sending with SMTP, Mailgun, and Resend support
MJMLResponsive email templates
Edge.jsTemplate engine for email rendering

Queues & Jobs

TechnologyDescription
BullMQPremium message queue for Node.js
@rlanz/bull-queueAdonisJS integration for BullMQ
RedisIn-memory data store for queue processing

File Storage

TechnologyDescription
@adonisjs/driveUnified file storage abstraction
AWS S3Cloud object storage (optional)

Testing

TechnologyDescription
JapaTesting framework with API client and assertions

AI Integration

Nuda Kit comes with AI capabilities out of the box, supporting multiple providers.

TechnologyDescription
Vercel AI SDKUniversal AI SDK for streaming responses
OpenAIGPT-4, GPT-3.5 models
AnthropicClaude models
Google AIGemini models

Payments

TechnologyDescription
StripePayments, subscriptions, and billing
Stripe CLILocal webhook testing

Development Infrastructure

All infrastructure is containerized with Docker for a consistent development experience.

ServiceImagePurpose
PostgreSQLpostgres:15-alpinePrimary database
Redisredis:latestQueue processing & caching
MailHogmailhog/mailhogEmail testing (catches all emails)
Stripe CLIstripe/stripe-cliWebhook forwarding

Code Quality

ToolDescription
ESLintCode linting
PrettierCode formatting
TypeScriptStatic type checking

Why separate Frontend and Backend?By decoupling Nuxt and AdonisJS, we ensure your backend is platform-agnostic. If you want to build a React Native mobile app, a desktop app with Electron, or integrate with third-party services, your AdonisJS API is already ready to serve them without changes.