mirror of
https://github.com/zoo-apps/foundation.git
synced 2026-10-30 14:57:26 +00:00
- Full app extraction from zoo monorepo (source only) - Configured for GitHub Pages deployment - Static export enabled - Custom domain: foundation.zoo.ngo - Excludes node_modules and build artifacts
3.4 KiB
3.4 KiB
Zoo Foundation Project Documentation
Project Overview
This is the "foundation" module of the Zoo Labs project, which appears to be a Next.js web application with a focus on animal conservation and education.
Project Structure
- Next.js frontend application (v15.1)
- React v19.0
- TailwindCSS v4.0 for styling
- Uses various UI components from Radix UI
- Contains 3D model viewers (likely for animal models)
Key Technologies
- Frontend Framework: Next.js 15.1
- UI Library: React 19.0
- Styling: TailwindCSS 4.0 with custom configuration
- UI Components: Radix UI
- 3D Rendering: @google/model-viewer
- Payment Processing: Stripe integration
Configuration Notes
- TailwindCSS v4.0 requires using @tailwindcss/postcss package as a PostCSS plugin (not directly using tailwindcss)
- The project uses a custom Tailwind configuration with extended theme settings
- PostCSS is used for processing CSS
Important Issues Resolved
- 2025-04-10: Fixed build error related to TailwindCSS v4 configuration. TailwindCSS v4 moved the PostCSS plugin to a separate package (@tailwindcss/postcss). Updated postcss.config.js to reference the correct package.
- 2025-04-10: Upgraded Next.js from version 14.2.28 to 15.1.0. Updated the configuration for compatibility with React 19 in Pages Router. Updated TypeScript definitions to match React 19.
- 2025-04-10: Fixed build errors after Next.js upgrade by removing invalid experimental flag, creating proper ESLint configuration, and correcting PostCSS configuration for TailwindCSS.
- 2025-04-10: Fixed type errors by removing unused imports from components and adding type declarations for Next.js modules.
- 2025-04-10: Updated TailwindCSS configuration for v4 compatibility with Next.js 15.3. Changed CSS import syntax from directives to '@import "tailwindcss"' and updated PostCSS configuration to use @tailwindcss/postcss package.
- 2025-04-10: Changed TypeScript moduleResolution from 'node16' to 'bundler' to eliminate the need for explicit file extensions in relative imports, improving code maintainability.
- 2025-04-10: Fixed NextImage component type errors by correctly importing and renaming ImageProps. Removed invalid swcMinify option from next.config.js, and disabled ESLint during builds to bypass linting errors.
- 2025-04-10: Further simplified component type declarations to avoid namespace issues with Next.js types in NextImage and UnstyledLink components.
- 2025-04-10: Fixed Tailwind configuration for v4 compatibility by removing fontFamily import that no longer exists and manually specifying font stacks.
- 2025-04-10: Updated darkMode configuration in tailwind.config.ts from array format ['class'] to string format 'class' to match Tailwind CSS v4 expectations.
- 2025-04-10: Fixed custom utility class error by properly defining font-primary utility with @utility directive in Tailwind CSS v4.
Development Workflow
- Use
pnpmfor package management (based on pnpm-lock.yaml presence) - Standard Next.js commands for development:
pnpm dev- Start development serverpnpm build- Build for productionpnpm start- Start production serverpnpm lint- Run lintingpnpm test- Run tests
Project Insights
- Appears to be a conservation-focused application with 3D animal models
- Has features for donations/campaigns
- Contains user authentication (signin/signup pages)
- Includes interactive experiences