Skip to content

Instantly share code, notes, and snippets.

View kyleledbetter's full-sized avatar
🤖
Building Aliases Apps

Kyle Ledbetter kyleledbetter

🤖
Building Aliases Apps
View GitHub Profile
@kyleledbetter
kyleledbetter / supabase.md
Created December 26, 2024 23:28
feat(): supabase schema arch

Supabase Database Architecture

Security & Compliance Requirements

SOC II Compliance

  • All sensitive data must be encrypted at rest
  • Audit logging for all data access and modifications
  • Role-based access control (RBAC) with principle of least privilege
  • Data backup and recovery procedures
  • Regular security assessments and monitoring
@kyleledbetter
kyleledbetter / product-requirements.md
Created December 26, 2024 23:25
feat(): add product requirements for LLM

Product Requirements Doc

Our application leverages the latest innovations in React 19 and Next.js 15 (App Router) to deliver powerful real-time collaboration features. User authentication and database management are powered by Supabase, with data being transitioned from Neon Postgres to Supabase Postgres and fully integrated through Drizzle ORM. We utilize the Vercel AI SDK (referenced in /documentation/ai-sdk) to orchestrate AI-driven interactions, and NextAuth.js to optionally authenticate users with oauth2 connecting third-party software assets.

Implementation Plan

  1. Use React 19 & Next.js 15
    • Ensure the project dependencies match the versions in the package.json snippet provided ("react": "19.0.0-rc-...", "next": "15.0.3-canary.2").
    • Check the configuration of Next.js App Router in the /app directory, verifying that routes align with Next.js 15 standards.
  • Ensure all dependencies are compatible with the versions of React and Next.js specified.
@kyleledbetter
kyleledbetter / dark-cyan-purple.css
Created September 4, 2017 22:51
Dark Covalent Angular Material Theme
/**
* Applies styles for users in high contrast mode. Note that this only applies
* to Microsoft browsers. Chrome can be included by checking for the `html[hc]`
* attribute, however Chrome handles high contrast differently.
*/
/* Theme for the ripple elements.*/
/** The mixins below are shared between md-menu and md-select */
/**
* This mixin adds the correct panel transform styles based
* on the direction that the menu panel opens.
@kyleledbetter
kyleledbetter / styles.scss
Last active August 1, 2017 22:04
Angular-Material2 utility styles
@import "theme";
// You can add global styles to this file that will cascade like normal CSS
// Active icon color in list nav
md-nav-list {
[md-list-item].active {
md-icon[md-list-avatar] {
background-color: mat-color($accent);
color: mat-color($accent, default-contrast)
}
@kyleledbetter
kyleledbetter / theme.scss
Last active September 16, 2019 04:58
Angular-Material 2 Theme
@import '~@angular/material/theming';
@include mat-core();
$primary: mat-palette($mat-orange, 800);
$accent: mat-palette($mat-light-blue, 600, 100, 800);
$warn: mat-palette($mat-red, 600);
$theme: mat-light-theme($primary, $accent, $warn);
@include angular-material-theme($theme);
@kyleledbetter
kyleledbetter / theme.scss
Created October 14, 2016 03:25
Alternate Angular-Material 2.0 Theme
// A light blue and orange theme
.light-blue-orange {
$primary2: md-palette($md-light-blue);
$accent2: md-palette($md-orange, 800);
$warn2: md-palette($md-red, 600);
$light-blue-orange: md-light-theme($primary2, $accent2, $warn2);
@include angular-material-theme($light-blue-orange);
}
@kyleledbetter
kyleledbetter / theme.scss
Created October 14, 2016 00:41
Covalent Angular-Material Theme
@import '~@angular/material/core/theming/all-theme';
// Plus imports for other components in your app.
@include md-core();
// Define the palettes for your theme using the Material Design palettes available in palette.scss
$primary: md-palette($md-orange, 800);
$accent: md-palette($md-light-blue, 600, A100, A400);
// The warn palette is optional (defaults to red).
$warn: md-palette($md-red, 600);
@kyleledbetter
kyleledbetter / designer.html
Last active September 16, 2019 04:58
designer
<link rel="import" href="../core-drawer-panel/core-drawer-panel.html">
<link rel="import" href="../core-menu/core-submenu.html">
<link rel="import" href="../core-item/core-item.html">
<link rel="import" href="../core-icon-button/core-icon-button.html">
<link rel="import" href="../core-toolbar/core-toolbar.html">
<link rel="import" href="../core-scroll-header-panel/core-scroll-header-panel.html">
<polymer-element name="my-element">
<template>
@kyleledbetter
kyleledbetter / designer.html
Last active August 29, 2015 14:12
designer
<link rel="import" href="../core-drawer-panel/core-drawer-panel.html">
<link rel="import" href="../core-menu/core-submenu.html">
<link rel="import" href="../core-item/core-item.html">
<link rel="import" href="../core-icon-button/core-icon-button.html">
<link rel="import" href="../core-toolbar/core-toolbar.html">
<link rel="import" href="../core-scroll-header-panel/core-scroll-header-panel.html">
<link rel="import" href="../core-icons/core-icons.html">
<link rel="import" href="../core-icons/av-icons.html">
<link rel="import" href="../paper-fab/paper-fab.html">
@kyleledbetter
kyleledbetter / designer.html
Last active August 29, 2015 14:11
designer
<link rel="import" href="../core-drawer-panel/core-drawer-panel.html">
<link rel="import" href="../core-icon-button/core-icon-button.html">
<link rel="import" href="../core-toolbar/core-toolbar.html">
<link rel="import" href="../core-header-panel/core-header-panel.html">
<link rel="import" href="../paper-tabs/paper-tabs.html">
<link rel="import" href="../paper-tabs/paper-tab.html">
<link rel="import" href="../paper-input/paper-input.html">
<link rel="import" href="../core-icons/core-icons.html">
<link rel="import" href="../paper-item/paper-item.html">
<link rel="import" href="../chart-js/chart-js.html">