- Svelte
- SvelteKit
- SvelteKit SVG
- Svelte Code Checker
- Prisma
- Prisma Data Platform
- Prisma Client
- Prisma Schema
- Prisma Full Text Search
- PlanetScale
- Cloudflare Workers
- Cloudflare Images
- Cloudflare Turnstile
- Cloudflare API
- Cloudflare Environments
- Cloudflare Compatibility Dates
- Zod
- Validator
- Sass
- SubtleCrypto
- PNPM
- Mailchannels
- Buffer
- Vite
- Sanitize HTML
- Wrangler
- Typescript
- Markdown
- Open Graph
- CSP
- Sveltekit + Prisma
- Sveltekit + Turnstile
- Sveltekit Authentication
- Sveltekit + Protected Routes
- Subtle Crypto
- Cloudflare + JWT
- Cloudflare + MailChannels + DKIM
- Prisma + NextJS
- Using Prisma with Planetscale
- Prisma + Cloudflare Workers
- Prisma + Data Proxy
- ECDSA vs RSA
- SubtleCrypto + JWT
- NPM to PNPM
- Cloudflare Worker Explanation
- Sveltekit + Sass
- Cloudflare Global Network
- Cloudflare + MailChannels + DKIM
- Faster Websites
- PlanetScale Restore to Backup
- Relative Time
- Learn Prisma In 60 Minutes
- Prisma & PlanetScale Best Practices
- MySQL Scaling Made Easy
- Faster MySQL with HTTP/3
- Squoosh
- SVG Icons
- Flowbite
- Jwt.io
- White to Grey Hex's
- CSP Validator
- DNS Checker
- Emoji's
- Open Graph Preview
- MailChannels: FREE for Infinite Outbound API Emails/month
- Namecheap: $19.58/year for Domain Registration
- Github Team: $4/month for 2G of storage
- Cloudflare Workers: $5/month for 285 servers allowing 10 million requests/month
- Cloudflare Images: $5/month for 100,000 images stored
- Proton Business: $19.98/month for 2 users w/ secure inboxes, calendars, & 1,000GB of cloud storage
- Prisma Data Platform: $29/month for 500 CPU minutes/month
- Planetscale: $29/month for 10 GB storage, 50 million row writes/month & 100 billion row reads/month
- Install git
- Install node & npm
- Install nvm
- In bash navigate to the place you would love to place this code
git clone https://github.com/sensethenlove/sensethenlove.git
cd sensethenlove
nvm use 18
npm install -g pnpm
pnpm setup
source /Users/[ username ]/.zshrc
pnpm i
pnpm dev
Write to schema.prisma, prisma.ts & .env files to prep for github qa branch push or qa deploy
pnpm qaWrite
Write to schema.prisma, prisma.ts & .env files to prep for github main branch or poduction deploy
pnpm mainWrite
Validates code & then pushes to github qa branch
pnpm qaPush
Validates code & then pushes to github main branch
pnpm mainPush
Deploy to qa
pnpm qaDeploy
Deploy to production
pnpm mainDeploy
- Bash
pnpm qaData
to view qa data in browser - Update schema @
./prisma/schema.prisma
- Bash
pnpm schemaDeploy
to push schema changes toqa
branch in PlanetScale - In
.apps.toml
file clickDASHBOARD_PLANETSCALE
link - Click
Branches
tab - Click
qa
link - Scroll to bottom of page
- Select
Deploy to main
- Click
Create deploy request
button - Click
Deploy changes
pnpm mainLogs
pnpm qaLogs
pnpm up
Open Prisma Studio w/ Production data
pnpm mainData
Open Prisma Studio w/ QA data
pnpm qaData
Format schema.prisma
in VSCodium on save
Preferences > Settings > JSON
{
"[prisma]": {
"editor.defaultFormatter": "Prisma.prisma",
"editor.formatOnSave": true
}
}
Set default tab size in VSCodium to 2 for new files
Preferences > Settings > JSON
{
"editor.tabSize": 2
}
Show what folder we are in @ the tab level of VSCodium
Preferences > Settings > JSON
{
"workbench.editor.labelFormat": "short"
}
Stop VSCodium from compacting folders in sidenav
Preferences > Settings > JSON
{
"explorer.compactFolders": false
}
Increase indent for sub folders in VSCodium sidenav
Preferences > Settings > JSON
{
"workbench.tree.indent": 18
}
Get project wide typescript reporting in VSCodium
Preferences > Settings > JSON
{
"typescript.tsserver.experimental.enableProjectDiagnostics": true
}
Show autocomplete suggestions in VSCodium
Control + Space
Reload VSCodium
This is helpful when type definitions are stale (showing incorrect errors)
Command + Shift + P
Developer: Reload Window
CREATE TABLE _CategoryToQuote
AS SELECT * FROM _QuoteToCategory;
ALTER TABLE Category
ADD PRIMARY KEY (id);
ALTER TABLE _CategoryToQuote
ADD CONSTRAINT _CategoryToQuote_AB_unique
UNIQUE (A,B);
ALTER TABLE `_QuoteToCategory`
ADD INDEX `_QuoteToCategory_B_index` (`B`);
UPDATE _CategoryToQuote old
JOIN _CategoryToQuote new USING (A,B)
SET new.A = old.B, new.B = old.A;