- Created complete project directory structure: - Frontend with Next.js 15.2.3 app router structure - Backend with Express API endpoints - Docker configurations with security best practices - MongoDB initialization with schema validation - Nginx configuration with security headers - Implemented core file templates: - Custom video player with transcript display options - MongoDB schemas with validation for Videos and Members - JWT authentication middleware with role-based access control - Docker Compose with resource limits and security - Frontend/backend package.json with dependencies - Updated documentation: - Enhanced TECH_STACK with latest version details - Updated TO_DO.txt with WCAG 2.2 AA requirements - Updated planned_implementation.txt with current best practices - Refreshed all Memory Bank files with current state - Security and accessibility improvements: - Added MongoDB 7.0 schema validation with - Enhanced video requirements with mandatory transcripts and thumbnails - Updated accessibility to WCAG 2.2 AA standards - Added security best practices for Docker deployments
59 lines
1.5 KiB
TypeScript
59 lines
1.5 KiB
TypeScript
import type { Metadata } from 'next';
|
|
import { Inter } from 'next/font/google';
|
|
import './globals.css';
|
|
|
|
const inter = Inter({ subsets: ['latin'] });
|
|
|
|
export const metadata: Metadata = {
|
|
title: 'Olathe Club of the Deaf',
|
|
description: 'Community hub for the deaf community in Olathe',
|
|
metadataBase: new URL('https://olathedeafclub.com'),
|
|
keywords: ['deaf', 'olathe', 'club', 'community', 'ASL', 'events'],
|
|
authors: [{ name: 'Olathe Club of the Deaf' }],
|
|
openGraph: {
|
|
title: 'Olathe Club of the Deaf',
|
|
description: 'Community hub for the deaf community in Olathe',
|
|
url: 'https://olathedeafclub.com',
|
|
siteName: 'Olathe Club of the Deaf',
|
|
images: [
|
|
{
|
|
url: '/images/og-image.jpg',
|
|
width: 1200,
|
|
height: 630,
|
|
alt: 'Olathe Club of the Deaf'
|
|
}
|
|
],
|
|
locale: 'en_US',
|
|
type: 'website',
|
|
},
|
|
twitter: {
|
|
card: 'summary_large_image',
|
|
title: 'Olathe Club of the Deaf',
|
|
description: 'Community hub for the deaf community in Olathe',
|
|
images: ['/images/og-image.jpg'],
|
|
},
|
|
};
|
|
|
|
export default function RootLayout({
|
|
children,
|
|
}: {
|
|
children: React.ReactNode;
|
|
}) {
|
|
return (
|
|
<html lang="en">
|
|
<body className={inter.className}>
|
|
<header>
|
|
<nav>
|
|
{/* Navigation will go here */}
|
|
</nav>
|
|
</header>
|
|
<main>
|
|
{children}
|
|
</main>
|
|
<footer>
|
|
{/* Footer content will go here */}
|
|
</footer>
|
|
</body>
|
|
</html>
|
|
);
|
|
}
|