feat: Initial Monorepo Setup for Such Software

- **Architecture**: Initialized Turborepo monorepo with pnpm workspace.
- **Frontend**: Scaffolding for Next.js 14 app (apps/web) with Tailwind CSS v4 configuration.
- **UI System**: Created shared UI package (@repo/ui) with Shadcn/UI primitives (Card, Button).
- **Procedural Design**:
  - Implemented 'NebulaField' organic background animation for Home.
  - Implemented 'DataGrid' isometric background for Services.
  - Added 'DynamicBackground' for theme-aware transitions.
- **Features**:
  - Responsive 'ThemeToggle' with View Transitions API support.
  - 'PortfolioGrid' component showcasing key projects (r/CryptoCurrency, etc.).
  - 'FounderSignature' component detailing accessibility focus.
  - 'ContactForm' with Zod validation + turnstile integration stub.
- **Pages**:
  - Landing page with parallax/procedural visuals.
  - Services page highlighting Medusa v2 development capabilities.
- **Clean Up**: Removed initial Medusa backend scaffold to focus on frontend delivery first.
This commit is contained in:
jwinterm
2026-01-15 15:43:47 -05:00
commit 717a3be1c8
33 changed files with 5194 additions and 0 deletions
+19
View File
@@ -0,0 +1,19 @@
export async function verifyTurnstile(token: string) {
const secretKey = process.env.TURNSTILE_SECRET_KEY;
if (!secretKey) {
console.warn("No TURNSTILE_SECRET_KEY set, skipping verification", token);
return true; // Dev mode bypass
}
const formData = new FormData();
formData.append('secret', secretKey);
formData.append('response', token);
const res = await fetch('https://challenges.cloudflare.com/turnstile/v0/siteverify', {
method: 'POST',
body: formData,
});
const data = await res.json();
return data.success;
}