Site dedicated to making sure Chelsea Smallwood does not profit off the affairs she coaches https://cheatingchelsea.com
Find a file
deco e51876f624
Some checks failed
CI / test (push) Failing after 1s
CI / test (pull_request) Failing after 1s
Delete .forgejo/workflows/build-check.yml
2025-07-16 07:05:56 +03:00
.claude Resolve merge conflict in settings.local.json 2025-07-15 23:57:44 -04:00
.forgejo/workflows Delete .forgejo/workflows/build-check.yml 2025-07-16 07:05:56 +03:00
.husky feat: add pre-commit hook to enforce linting 2025-06-30 11:17:35 -04:00
.idx initial scaffold 2025-06-25 14:01:52 +00:00
.vscode Site needs a meta description 2025-06-26 18:53:15 +00:00
docs Updated app 2025-06-26 15:13:25 +00:00
public I have done that 2025-06-27 02:46:57 +00:00
scripts Update scripts/create-s3-bucket.js 2025-06-29 17:47:11 -04:00
src Update layout and page components 2025-07-10 13:54:14 -04:00
.eslintrc.json Fix ESLint issues across codebase 2025-06-29 17:55:13 -04:00
.gitignore Remove AWS Amplify dependencies and configuration 2025-06-29 18:20:59 -04:00
.modified Updated app 2025-06-26 15:13:25 +00:00
.nvmrc Fix Node.js version compatibility and improve documentation 2025-06-27 18:31:16 -04:00
amplify_outputs.json Remove AWS Amplify dependencies and configuration 2025-06-29 18:20:59 -04:00
apphosting.yaml initial scaffold 2025-06-25 14:01:52 +00:00
CLAUDE.md Migrate from GitHub to Forgejo 2025-07-10 18:43:35 -04:00
components.json initial scaffold 2025-06-25 14:01:52 +00:00
next.config.ts Add secrets configuration and deployment scripts 2025-06-29 17:42:11 -04:00
package-lock.json feat: add pre-commit hook to enforce linting 2025-06-30 11:17:35 -04:00
package.json Update package.json 2025-06-30 11:21:50 -04:00
postcss.config.mjs initial scaffold 2025-06-25 14:01:52 +00:00
README.md Migrate from GitHub to Forgejo 2025-07-10 18:43:35 -04:00
tailwind.config.ts initial scaffold 2025-06-25 14:01:52 +00:00
tsconfig.json initial scaffold 2025-06-25 14:01:52 +00:00

Cheating Chelsea

A Next.js application built to expose harmful activities and support Kristen Jacobs through her GoFundMe campaign. This project uses modern web technologies to create an impactful platform for sharing important stories and curated content.

🚀 Features

  • Homepage - Main landing page with campaign information
  • Gallery - YouTube video integration showcasing relevant content
  • Dadvocate - Curated video collection highlighting advocacy efforts
  • Long Story - Detailed narrative and documentation
  • Dark/Light Mode - Theme switching for better accessibility
  • Responsive Design - Mobile-first approach using Tailwind CSS

🛠️ Tech Stack

  • Framework: Next.js 15.3.3 with App Router
  • Language: TypeScript
  • UI Components: shadcn/ui component library
  • Styling: Tailwind CSS with custom theming
  • Hosting: Supports Static hosting (S3), Firebase App Hosting, and Vercel
  • AI Integration: Google Genkit (minimal implementation)

📋 Prerequisites

  • Node.js 18.x or higher
  • npm or yarn package manager
  • YouTube API key (for video galleries)

🔧 Installation

  1. Clone the repository:
git clone ssh://gitea@git.deco.sh/signal-works/cheatingchelsea.git
cd cheatingchelsea
  1. Install dependencies:
npm install
  1. Set up environment variables:
# Create a .env.local file in the root directory
YOUTUBE_API_KEY=your_youtube_api_key_here

🚀 Development

Start the development server:

npm run dev

The application will be available at http://localhost:9002

Additional Development Commands

# Start Genkit AI development server
npm run genkit:dev

# Start Genkit with file watching
npm run genkit:watch

# Run linting
npm run lint

# Run TypeScript type checking
npm run typecheck

📦 Building for Production

Build the application:

npm run build

Start the production server:

npm run start

🌐 Deployment

This application supports multiple deployment platforms:

Static Hosting (AWS S3)

The project includes CI/CD workflow for automatic deployment to AWS S3.

Firebase App Hosting

Deploy using Firebase CLI:

firebase deploy

Vercel

Deploy directly from Git repository through Vercel dashboard or CLI.

📁 Project Structure

src/
├── app/                    # Next.js App Router pages
│   ├── page.tsx           # Homepage
│   ├── gallery/           # YouTube video gallery
│   ├── dadvocate/         # Curated video content
│   └── long-story/        # Detailed narrative
├── components/            # React components
│   └── ui/               # shadcn/ui components
├── lib/                  # Utility functions
└── styles/              # Global styles

🔑 Key Features Explained

Static Generation with ISR

Pages use static generation with Incremental Static Regeneration for optimal performance while keeping data fresh.

YouTube Integration

Gallery and Dadvocate pages fetch video data from YouTube API with 1-hour caching for performance.

Theme Support

Built-in dark/light mode switching using next-themes for better user experience.

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

💖 Support

This project supports Kristen Jacobs' GoFundMe campaign. Visit the homepage to learn more and contribute.


Built with ❤️ using Next.js and TypeScript