Skip to content

MySQL + Drizzle ORM + Nuxt 3 fullstack modern note site.

Notifications You must be signed in to change notification settings

riceball-tw/my-note

Repository files navigation

MyNote

App demo

A MySQL + Drizzle ORM + Nuxt 3 fullstack modern note site.

Features

  • Nuxt 3 Universal Rendering mode, support both SSR and CSR
  • TypeScript + Drizzle ORM + Zod for Safety
  • Tailwind + Shadcn Vue for fast UI iteration
  • JWT based Auth
  • RWD UI for mobile and desktop

How to Start

Install Dependence

pnpm install

Setup .env

DATABASE_URL=mysql://user:password@localhost:3306/your_database
JWT_SECRET=***

Search for online JWT secret generator or generate by using node script.

node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"

Database Migrations

For more, you can refer to drizzle migrations document

npx drizzle-kit generate
npx drizzle-kit push

Start the dev server!

pnpm dev

Database Schema

erDiagram
    USERS {
        int id PK "Auto-increment primary key"
        varchar email "Unique and not null"
        varchar password "Not null"
    }
    NOTES {
        int id PK "Serial primary key"
        int user_id FK "Foreign key references USERS.id"
        text text "Optional text content"
        timestamp created_at "Default to current date, not null"
        timestamp updated_at "Default to current date, updates automatically"
    }

    USERS ||--o{ NOTES : "has many"
Loading

About

MySQL + Drizzle ORM + Nuxt 3 fullstack modern note site.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published