Fix Node.js version compatibility and improve documentation
- Update amplify.yml to use Node.js 20 to resolve engine compatibility warnings - Add .nvmrc file to ensure consistent Node.js version across environments - Replace basic README with comprehensive project documentation including features, setup instructions, and deployment options 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
0665a990e4
commit
c39bbe9f60
3 changed files with 143 additions and 3 deletions
1
.nvmrc
Normal file
1
.nvmrc
Normal file
|
@ -0,0 +1 @@
|
|||
20
|
142
README.md
142
README.md
|
@ -1,5 +1,141 @@
|
|||
# Firebase Studio
|
||||
# Cheating Chelsea
|
||||
|
||||
This is a NextJS starter in Firebase Studio.
|
||||
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.
|
||||
|
||||
To get started, take a look at src/app/page.tsx.
|
||||
## 🚀 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 GitHub Pages, 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:
|
||||
```bash
|
||||
git clone https://github.com/yourusername/cheatingchelsea.git
|
||||
cd cheatingchelsea
|
||||
```
|
||||
|
||||
2. Install dependencies:
|
||||
```bash
|
||||
npm install
|
||||
```
|
||||
|
||||
3. Set up environment variables:
|
||||
```bash
|
||||
# Create a .env.local file in the root directory
|
||||
YOUTUBE_API_KEY=your_youtube_api_key_here
|
||||
```
|
||||
|
||||
## 🚀 Development
|
||||
|
||||
Start the development server:
|
||||
```bash
|
||||
npm run dev
|
||||
```
|
||||
|
||||
The application will be available at `http://localhost:9002`
|
||||
|
||||
### Additional Development Commands
|
||||
|
||||
```bash
|
||||
# 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:
|
||||
```bash
|
||||
npm run build
|
||||
```
|
||||
|
||||
Start the production server:
|
||||
```bash
|
||||
npm run start
|
||||
```
|
||||
|
||||
## 🌐 Deployment
|
||||
|
||||
This application supports multiple deployment platforms:
|
||||
|
||||
### GitHub Pages
|
||||
The project includes GitHub Actions workflow for automatic deployment to GitHub Pages.
|
||||
|
||||
### Firebase App Hosting
|
||||
Deploy using Firebase CLI:
|
||||
```bash
|
||||
firebase deploy
|
||||
```
|
||||
|
||||
### Vercel
|
||||
Deploy directly from GitHub 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
|
|
@ -3,6 +3,9 @@ frontend:
|
|||
phases:
|
||||
preBuild:
|
||||
commands:
|
||||
# Set Node.js version to 20
|
||||
- nvm use 20
|
||||
- node --version
|
||||
- npm ci
|
||||
- |
|
||||
# Retrieve the secret from Amplify's secret store
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue