SvelteKitでマルチテナントブログサイト作ってみた
by
西村和海 / Kazuumi NISHIMURA
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
SvelteKitでマルチテナントブロ グサイト作ってみた 西村 和海
Slide 2
Slide 2 text
西村和海 株式会社Liquitousのエンジニア Twitter: @Kazuumi_N GitHub: @KazuumiN 業務ではVue2、サイドプロジェクトではNext.js 動画制作やライブ配信とかもしてます。 はじめに〜自己紹介
Slide 3
Slide 3 text
作っているプロダクト「Liqlid」はVue2 + Firebase ● Vue2のサポート終了 ● SSR対応 ● Firebaseからの移行 ↓ Svelte / SvelteKit + RDBへの移行 はじめに〜Vue2からの移行先としてのSvelte/SvelteKit 市民参加型合意形成プラットフォーム「 Liqlid」
Slide 4
Slide 4 text
目次 ● 作ったもの 〜mypost.studio〜 ● ライブラリ紹介 ○ Svelte / SvelteKit ○ Kysely ○ Prisma ○ Lucia ○ Superforms ○ Tiptap ○ Melt UI
Slide 5
Slide 5 text
作ったもの github.com/KazuumiN/sveltekit-simple-multitenant-blog
Slide 6
Slide 6 text
洗練されたウェブアプリケーション開発フレームワーク ● 分かりやすいファイルベースのルーティング ● サーバー側からフロントに渡す値にデフォルトで型が付く ● HTML / CSS / JavaScript を活かして書けるコンポーネント 日本語ドキュメントがしっかり整備されている他、『 実践Svelte⼊⾨』という本もおすすめです Svelte/SvelteKit
Slide 7
Slide 7 text
Kysely SQLのクエリビルダー データベースと同期させた型定義ファイルを持っておくことで、型に守ってもらいながらコード補完の恩恵も受け られます。
Slide 8
Slide 8 text
Prisma, prisma-kysely Prismaは、とても使いやすいORMです。 1. データベースのスキーマ定義 2. マイグレーションの実行 3. SQLを覆ってストレスフリーなクエリ を行うことができます。 今回は3にあたりクエリにはKyselyを使いたかった↓ prisma-kyselyによってPrismaによるマイグレーションと同時に Kyselyの型定義ファイルを生成する
Slide 9
Slide 9 text
シンプルで柔軟な認証ライブラリです。ユーザー・認証情報・セッション情報 - 最近のウェブフレームワークに広く対応( Next.js, Nuxt, SvelteKit, Remix, Qwik, Astro) - データベースのアダプターが十分にある(組み合わせも可能) - OAuthに対応するライブラリや、メール認証のチュートリアルなどが別途整備されている Lucia
Slide 10
Slide 10 text
Superforms Superformsは、バリデーションを始め、 SvelteKitでのフォームの実装に便利な機能が多く含まれています。 そもそもSvelteKitオフィシャルに用意されているクライアント →サーバーのデータ送信はFormを拡張した形であ り、Superformsではその開発がより便利になります。
Slide 11
Slide 11 text
Tiptap / Melt UI Tiptap:ヘッドレスなリッチテキストエディタ MeltUI:ヘッドレスなUIコンポーネントビルダー いずれも機能のみを提供していて、スタイルは完全にカスタマイズが可能