# Project export: Pawsome

This document was generated by HackStack to give an AI agent context about a hackathon project. Sections are labeled with their provenance; content marked as truncated was cut to keep this document small.

## Project metadata

- Hackathon: TreeHacks 2024
- Tagline: We envision a world where every pet enjoys a happy, healthy life. Our goal is to prioritize pets' health and wellness, offering accessible, reliable solutions for their care.
- Devpost: https://devpost.com/software/pawsome-nk68yv
- GitHub: https://github.com/mounika2000/Treehacks
- Result: winner (Fetch.ai: Smartest AI Agent Prize (Top 2 Teams - $3k Cash))
- Team: 4 GitHub contributor(s) — Peteti Sai Mounika (16 commits), Tanay Godse (6 commits), yamnihc04 (5 commits), SanketKulkarni (1 commits)

## Devpost submission (written by the team)

### Overview

Welcome to Pawsome, the cutting-edge platform dedicated to enhancing the health and fitness of our beloved pets. Combining a deep love for pets with the latest in technology, we provide personalized wellness plans to ensure every pet gets the care they deserve. About Pawsome Pawsome isn't just a project—it's a mission to ensure the well-being of pets worldwide. Our platform offers tools and resources for pet owners to maintain and improve their pet's health and fitness, featuring interactive consultations and tailored fitness schedules. Our Vision We envision a world where every pet enjoys a happy, healthy life. Our goal is to prioritize pets' health and wellness, offering accessible, reliable solutions for their care. Technology Stack To deliver a seamless, efficient user experience, Pawsome leverages a comprehensive and robust stack: Frontend: React: A JavaScript library for building user interfaces. Next.js: A React framework for production; it makes building scalable applications easier. JavaScript: A programming language that allows you to implement complex features on web pages. TypeScript: A typed superset of JavaScript that compiles to plain JavaScript. HTML: The standard markup language for documents designed to be displayed in a web browser. CSS: The language used to describe the presentation of a document written in HTML. Tailwind CSS: A utility-first CSS framework for rapidly building custom designs. Frontend: React: A JavaScript library for building user interfaces. Next.js: A React framework for production; it makes building scalable applications easier. JavaScript: A programming language that allows you to implement complex features on web pages. TypeScript: A typed superset of JavaScript that compiles to plain JavaScript. HTML: The standard markup language for documents designed to be displayed in a web browser. CSS: The language used to describe the presentation of a document written in HTML. Tailwind CSS: A utility-first CSS framework for rapidly building custom designs. Backend: Flask: A micro web framework written in Python. Python: A programming language that lets you work quickly and integrate systems more effectively. Backend: Flask: A micro web framework written in Python. Python: A programming language that lets you work quickly and integrate systems more effectively. Integrations: Fetch.ai: An artificial intelligence lab working on creating a decentralized digital world. Integrations: Fetch.ai: An artificial intelligence lab working on creating a decentralized digital world. Agent 1 Using Fetch AI Agent 2 Using Fetch AI Agent 3 Using Fetch AI Together.ai: A platform that provides AI-based solutions. Together.ai: A platform that provides AI-based solutions. Postman: An API platform for building and using APIs. Postman simplifies each step of the API lifecycle and streamlines collaboration. Postman: An API platform for building and using APIs. Postman simplifies each step of the API lifecycle and streamlines collaboration. Bun: Bun is an all-in-one JavaScript runtime & toolkit designed for speed, complete with a bundler, test runner, and Node.js-compatible package manager. It served as a JavaScript runtime optimizer for our project. Bun: Bun is an all-in-one JavaScript runtime & toolkit designed for speed, complete with a bundler, test runner, and Node.js-compatible package manager. It served as a JavaScript runtime optimizer for our project. These technologies are carefully chosen to ensure that Pawsome is not only cutting-edge but also robust and scalable, catering to the dynamic needs of pet owners and their beloved pets. This tech combination enables dynamic, responsive interactions and complex data processing across our platform. Features Interactive Pet Wellness AI Pawsome features a chat button for users to interact with our pet wellness AI. Depending on user needs, it offers appointment booking, medicine orders, or grooming session scheduling. Customized Fitness Center Our Fitness Center allows pet owners to input details like breed, weight, and health, creating a custom fitness plan tailored to their pet's needs, and promoting a holistic wellness approach. Custom Push Notifications To ensure pets and their owners stay on track with their wellness routines, Pawsome sends custom push notifications via email, reminding users of upcoming activities and schedules. Future Enhancements We're committed to continuously improving Pawsome with several key initiatives: Data-Driven Personalization: By gathering more data, we aim to make even more personalized recommendations, enhancing the effectiveness of wellness plans. E-commerce Platform: Developing a one-stop destination for all pet needs, from food to toys, ensuring pet owners have access to high-quality products. Network of Veterinarians: Establishing a network of doctors available for consultations and emergencies, providing peace of mind for pet owners. Getting Started Clone repo git clone https://github.com/mounika2000/treehacks.git cd Treehacks yarn Install dependencies npm install 3.Then, you can run locally in development mode with live reload: yarn dev Contributing Contributions are welcome! Whether you're a developer, designer, or pet wellness enthusiast, there are many ways to contribute to Pawsome. Please see our contributing guidelines for more details. Contact Us Sai Mounika Peteti: saimounika.peteti@sjsu.edu Chinmay Nilesh Mahagaonkar: chinmaynilesh.mahagaonkar@sjsu.edu Sanket Kulkarni: sanket.kulkarni@sjsu.edu Tanay Godse: tanay.godse@sjsu.edu

## README (from the GitHub repository)


# Pawsome: Revolutionizing Pet Health and Fitness

Welcome to Pawsome, the cutting-edge platform dedicated to enhancing the health and fitness of our beloved pets. Combining a deep love for pets with the latest in technology, we provide personalized wellness plans to ensure every pet gets the care they deserve.

<img src="https://github.com/mounika2000/Treehacks/assets/46564084/c19b5611-30e6-4406-ad5e-2436f4ea7ebc" width="100%" alt="treehacks">


## About Pawsome

Pawsome isn't just a project—it's a mission to ensure the well-being of pets worldwide. Our platform offers tools and resources for pet owners to maintain and improve their pet's health and fitness, featuring interactive consultations and tailored fitness schedules. 

### Our Vision

We envision a world where every pet enjoys a happy, healthy life. Our goal is to prioritize pets' health and wellness, offering accessible, reliable solutions for their care.

## Technology Stack

To deliver a seamless, efficient user experience, Pawsome leverages a comprehensive and robust stack:

- **Frontend**:
  - React: A JavaScript library for building user interfaces.
  - Next.js: A React framework for production; it makes building scalable applications easier.
  - JavaScript: A programming language that allows you to implement complex features on web pages.
  - TypeScript: A typed superset of JavaScript that compiles to plain JavaScript.
  - HTML: The standard markup language for documents designed to be displayed in a web browser.
  - CSS: The language used to describe the presentation of a document written in HTML.
  - Tailwind CSS: A utility-first CSS framework for rapidly building custom designs.
  
  
- **Backend**:
  - Flask: A micro web framework written in Python.
  - Python: A programming language that lets you work quickly and integrate systems more effectively.

- **Integrations**:
  - Fetch.ai: An artificial intelligence lab working on creating a decentralized digital world.
  - ![Create daily reminders](https://github.com/mounika2000/Treehacks/assets/55689594/0769a85a-7da7-460c-bd24-6736047d5f68)
  - ![Create daily reminders (1)](https://github.com/mounika2000/Treehacks/assets/55689594/f724cd3f-a713-48fd-9ec7-25ca500fce49)
  - ![Create daily reminders (3)](https://github.com/mounika2000/Treehacks/assets/55689594/c535ea0f-8f59-4ba3-bbeb-d32cbd1ceca1)


  - Together.ai: A platform that provides AI-based solutions.
  - Postman: An API platform for building and using APIs. Postman simplifies each step of the API lifecycle and streamlines collaboration.
 
  
<div style="text-align: left;">
  <img src="https://cdn.freebiesupply.com/logos/large/2x/react-1-logo-png-transparent.png" alt="React Logo" title="React" width="5%" style="margin-right: 10px; display: inline-block;">
  <img src="https://github.com/mounika2000/Treehacks/assets/46564084/cf4ce854-7c08-4967-b5d2-6fa70b288275" alt="Project Logo" title="Project" width="10%" style="margin-right: 10px; display: inline-block;">
  <img src="https://fetch.ai/Images/logo/fetch-logo.svg" alt="Fetch.ai Logo" title="Fetch.ai" width="10%" style="margin-right: 10px; display: inline-block;">
  <img src="https://upload.wikimedia.org/wikipedia/commons/6/6a/JavaScript-logo.png?20120221235433" alt="JavaScript Logo" title="JavaScript" width="5%" style="margin-right: 10px; display: inline-block;">
  <img src="https://getlogovector.com/wp-content/uploads/2021/01/tailwind-css-logo-vector.png" alt="Tailwind CSS Logo" title="Tailwind CSS" width="10%" style="margin-right: 10px; display: inline-block;">
  <img src="https://cdn.pixabay.com/photo/2017/08/05/11/16/logo-2582748_1280.png" alt="HTML5 Logo" title="HTML5" width="5%" style="margin-right: 10px; display: inline-block;">
  <img src="https://www.python.org/static/img/python-logo@2x.png" alt="Python Logo" title="Python" width="10%" style="margin-right: 10px; display: inline-block;">
  <img src="https://media.dev.to/cdn-cgi/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fusv4n4x9y62l1k8r18h6.png" alt="Flask Logo" title="Flask" width="10%" style="margin-right: 10px; display: inline-block;">
  <img src="https://i.pinimg.com/564x/4a/2b/e7/4a2be73b1e2efb44355436c40bf496dd.jpg" alt="Next.js Logo" title="Next.js" width="10%" style="margin-right: 10px; display: inline-block;">
  <img src="https://miro.medium.com/v2/resize:fit:876/format:webp/0*AZd8eYeNvupEXtRK.png" alt="TypeScript Logo" title="TypeScript" width="10%" style="margin-right: 10px; display: inline-block;">
  <img src="https://upload.wikimedia.org/wikipedia/commons/c/c2/Postman_%28software%29.png?20211024200826" alt="Postman Logo" title="Postman" width="10%" style="margin-right: 10px; display: inline-block;">
</div>



These technologies are carefully chosen to ensure that Pawsome is not only cutting-edge but also robust and scalable, catering to the dynamic needs of pet owners and their beloved pets.

This tech combination enables dynamic, responsive interactions and complex data processing across our platform.

## Features

### Interactive Pet Wellness AI

Pawsome features a chat button for users to interact with our pet wellness AI. Depending on user needs, it offers appointment booking, medicine orders, or grooming session scheduling. <br> 
<img src="https://github.com/mounika2000/Treehacks/assets/46564084/cad4921e-dbcd-44d5-b118-6055161ae889" width="60%" alt="treehacks">

### Customized Fitness Center

Our Fitness Center allows pet owners to input details like breed, weight, and health, creating a custom fitness plan tailored to their pet's needs, and promoting a holistic wellness approach.

### Custom Push Notifications

To ensure pets and their owners stay on track with their wellness routines, Pawsome sends custom push notifications via email, reminding users of upcoming activities and schedules.


## Future Enhancements

We're committed to continuously improving Pawsome with several key initiatives:

- **Data-Driven Personalization**: By gathering more data, we aim to make even more personalized recommendations, enhancing the effectiveness of wellness plans.
- **E-commerce Platform**: Developing a one-stop destination for all pet needs, from food to toys, ensuring pet owners have access to high-quality products.
- **Network of Veterinarians**: Establishing a network of doctors available for consultations and emergencies, providing peace of mind for pet owners.

## Getting Started
1. Clone repo
```
git clone https://github.com/mounika2000/treehacks.git
cd Treehacks
yarn
```
2. Install dependencies <br/>
```npm install```  <br/>
3.Then, you can run locally in development mode with live reload:
```yarn dev```



## Contributing

Contributions are welcome! Whether you're a developer, designer, or pet wellness enthusiast, there are many ways to contribute to Pawsome. Please see our contributing guidelines for more details.

## Contact Us

Sai Mounika Peteti: saimounika.peteti@sjsu.edu  <br/>
Chinmay Nilesh Mahagaonkar: chinmaynilesh.mahagaonkar@sjsu.edu <br/>
Sanket Kulkarni: sanket.kulkarni@sjsu.edu <br/>
Tanay Godse: tanay.godse@sjsu.edu




## Detected evidence (automated analysis)

Indexed codebase: 53 recognized source files, 86 KB.
- CSS (language) — detected in the code
- JavaScript (language) — detected in the code
- Next.js (technology) — detected in the code
- Python (language) — detected in the code
- React (technology) — detected in the code
- Tailwind CSS (technology) — detected in the code
- TypeScript (language) — detected in the code
- Flask (technology) — claimed on Devpost, not found in the code

## Codebase structure (from repository index)

### Files (73 of 73)

```
.babelrc
.eslintignore
.eslintrc
.github/ISSUE_TEMPLATE/bug_report.md
.github/ISSUE_TEMPLATE/feature_request.md
.gitignore
.husky/pre-commit
.vscode/extensions.json
.vscode/launch.json
.vscode/settings.json
.vscode/tasks.json
bun.lockb
CODE_OF_CONDUCT.md
example.db
flask/agent1qgaudna025_data.json
flask/agent1qghwhyknxm_data.json
flask/app.py
flask/create_and_insert.py
flask/customer.py
flask/email_agent.py
flask/example.db
flask/example1.db
flask/fetchrecords.py
flask/pet_clinic.py
flask/pet_owner.py
flask/protocols/book.py
flask/protocols/inventory.py
flask/protocols/order.py
flask/protocols/query.py
flask/shop.py
flask/test-api.py
LICENSE
lint-staged.config.js
netlify.toml
next-env.d.ts
next.config.js
package.json
postcss.config.js
README.md
src/components/About.tsx
src/components/Analytics.tsx
src/components/BookingPopUp.tsx
src/components/Canvas.tsx
src/components/Chatbot-working.tsx
src/components/Chatbot.tsx
src/components/Divider.tsx
src/components/Features1.tsx
src/components/Features2.tsx
src/components/Header.tsx
src/components/LazyShow.tsx
src/components/MainHero.tsx
src/components/MainHeroImage.tsx
src/components/MessageBubble.tsx
src/components/Pricing.tsx
src/components/Product.tsx
src/components/TimelineDes.tsx
src/components/Wave.tsx
src/config/index.json
src/hooks/useCanvas.ts
src/hooks/useResponsiveSize.ts
src/interfaces.d.ts
src/lib/googleAds.ts
src/lib/gtag.ts
src/pages/_app.tsx
src/pages/_document.tsx
src/pages/index.tsx
src/pages/Timeline.tsx
src/styles/main.css
src/utils/AppConfig.ts
src/utils/utils.ts
src/utils/wave.ts
tailwind.config.js
tsconfig.json
```

### Dependencies

- package.json: @headlessui/react@^1.4.1, @heroicons/react@^1.0.5, @material-ui/core@^4.12.4, @material-ui/icons@^4.11.3, @next/bundle-analyzer@^12.0.0, @types/node@^16.11.6, @types/react@^17.0.33, @types/react-vertical-timeline-component@^3.3.6, @typescript-eslint/eslint-plugin@^4.32.0, @typescript-eslint/parser@^4.32.0, autoprefixer@^10.3.7, axios@^1.6.7, cross-env@^7.0.3, eslint@^7.32.0, eslint-config-airbnb-base@^14.2.1, eslint-config-airbnb-typescript@^14.0.1, eslint-config-next@^12.0.0, eslint-config-prettier@^8.3.0, eslint-plugin-import@^2.25.2, eslint-plugin-jsx-a11y@^6.4.1, eslint-plugin-prettier@^4.0.0, eslint-plugin-react@^7.26.1, eslint-plugin-react-hooks@^4.2.0, eslint-plugin-unused-imports@^1.1.5, framer-motion@^5.0.0, husky@^7.0.4, lint-staged@^11.2.5, next@^12.0.0, next-seo@^4.28.1, npm-run-all@^4.1.5, postcss@^8.3.11, prettier@^2.4.1, react@^17.0.2, react-dom@^17.0.2, react-scroll@^1.8.4, react-vertical-timeline-component@^3.6.0, reactjs-popup@^2.0.6, rimraf@^3.0.2, smooth-scroll@^16.1.3, styled-jsx-plugin-postcss@^4.0.1, tailwindcss@^2.2.17, typescript@^4.4.4

### Recent commits (newest first)

- Refactor and minor changes
- config for routing
- Correct icons
- Update README.md
- Final Commit
- Changes Sunday 18
- Update README.md
- Update README.md
- Update README.md
- Update README.md
- Update README.md
- Update README.md
- Update README.md
- Merge branch 'main' of https://github.com/mounika2000/Treehacks
- popup changes
- popup changes
- Changes
- Fetch API Emailers working (Appointment and Auto)
- popup added designs needed
- Timeline changes

## Key source files (fetched from GitHub, selected and truncated for size)

### CODE_OF_CONDUCT.md

```markdown
# Contributor Covenant Code of Conduct

## Our Pledge

We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, religion, or sexual identity
and orientation.

We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.

## Our Standards

Examples of behavior that contributes to a positive environment for our
community include:

* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
  and learning from the experience
* Focusing on what is best not just for us as individuals, but for the
  overall community

Examples of unacceptable behavior include:

* The use of sexualized language or imagery, and sexual attention or
  advances of any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or email
  address, without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
  professional setting

## Enforcement Responsibilities

Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.

Community leaders have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are
not aligned to this Code of Conduct, and will communicate reasons for moderation
decisions when appropriate.

## Scope

This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official e-mail address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at
.
All complaints will be reviewed and investigated promptly and fairly.

All community leaders are obligated to respect the privacy and security of the
reporter of any incident.

## Enforcement Guidelines

Community leaders will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:

### 1. Correction

**Community Impac
[truncated — 2202 more characters]
```

### .github/ISSUE_TEMPLATE/feature_request.md

```markdown
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: ''
assignees: ''

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.

```

### package.json

```
{
  "name": "react-landing-page-2021",
  "version": "1.0.0",
  "scripts": {
    "dev": "next dev",
    "build": "next build",
    "start": "next start",
    "build-stats": "cross-env ANALYZE=true npm run build",
    "export": "next export",
    "build-prod": "run-s clean build export",
    "clean": "rimraf .next out",
    "lint": "next lint",
    "build-types": "tsc --noEmit --pretty",
    "prepare": "husky install"
  },
  "dependencies": {
    "@headlessui/react": "^1.4.1",
    "@heroicons/react": "^1.0.5",
    "@material-ui/core": "^4.12.4",
    "@material-ui/icons": "^4.11.3",
    "axios": "^1.6.7",
    "framer-motion": "^5.0.0",
    "next": "^12.0.0",
    "next-seo": "^4.28.1",
    "react": "^17.0.2",
    "react-dom": "^17.0.2",
    "react-scroll": "^1.8.4",
    "react-vertical-timeline-component": "^3.6.0",
    "reactjs-popup": "^2.0.6",
    "smooth-scroll": "^16.1.3",
    "styled-jsx-plugin-postcss": "^4.0.1"
  },
  "devDependencies": {
    "@next/bundle-analyzer": "^12.0.0",
    "@types/node": "^16.11.6",
    "@types/react": "^17.0.33",
    "@types/react-vertical-timeline-component": "^3.3.6",
    "@typescript-eslint/eslint-plugin": "^4.32.0",
    "@typescript-eslint/parser": "^4.32.0",
    "autoprefixer": "^10.3.7",
    "cross-env": "^7.0.3",
    "eslint": "^7.32.0",
    "eslint-config-airbnb-base": "^14.2.1",
    "eslint-config-airbnb-typescript": "^14.0.1",
    "eslint-config-next": "^12.0.0",
    "eslint-config-prettier": "^8.3.0",
    "eslint-plugin-import": "^2.25.2",
    "eslint-plugin-jsx-a11y": "^6.4.1",
    "eslint-plugin-prettier": "^4.0.0",
    "eslint-plugin-react": "^7.26.1",
    "eslint-plugin-react-hooks": "^4.2.0",
    "eslint-plugin-unused-imports": "^1.1.5",
    "husky": "^7.0.4",
    "lint-staged": "^11.2.5",
    "npm-run-all": "^4.1.5",
    "postcss": "^8.3.11",
    "prettier": "^2.4.1",
    "rimraf": "^3.0.2",
    "tailwindcss": "^2.2.17",
    "typescript": "^4.4.4"
  },
  "license": "ISC"
}

```

### flask/app.py

```python
from flask import Flask, request, jsonify, make_response
from flask_cors import CORS
import sqlite3
import appscript

app = Flask(__name__)
CORS(app)


@app.route('/scheduleAppointment/', methods=['GET'])
def scheduleAppointment():
    try:
        date = request.args.get('date')  # Extract date from query parameters
        time = request.args.get('time')  # Extract time from query parameters
        date_time = date + ' ' + time
        print(date_time)        
        conn = sqlite3.connect('example.db')
        c = conn.cursor()
        # Using a parameterized query to avoid SQL injection
        c.execute("INSERT INTO records (pet_type, date, duration, agentId) VALUES (?, ?, ?, ?)", 
                  ('cat', date_time, 1, 'agent1qghwhyknxm46h0wsecjcunnja5tfzcyjqjz6m2pl0snmka68hytd5qnysv5'))
        conn.commit()
        conn.close()
        # Assuming you have the necessary imports and setup for Flask and SQLite
        appscript.app('Terminal').do_script('cd /Users/tanaygodse/Desktop/Treehacks/flask/ && python3 /Users/tanaygodse/Desktop/Treehacks/flask/pet_owner.py')
        return jsonify({'message': 'Appointment scheduled successfully'})
    except Exception as e:
        return jsonify({'error': str(e)}), 400


if __name__ == '__main__':
    app.run(host='0.0.0.0', port=105)
```

### src/pages/index.tsx

```typescript
import React from 'react';

import About from '../components/About';
import Analytics from '../components/Analytics';
import Canvas from '../components/Canvas';
import Chatbot from '../components/Chatbot';
import Features1 from '../components/Features1';
import Features2 from '../components/Features2';
import Header from '../components/Header';
import LazyShow from '../components/LazyShow';
import MainHero from '../components/MainHero';
import MainHeroImage from '../components/MainHeroImage';
// import Pricing from '../components/Pricing';
// import Product from '../components/Product';

// import {PetTypeProvider} from '../components/PetTypeContext';

const App = () => {
  return (
    // <PetTypeProvider>
    <div className={`bg-background grid gap-y-0 overflow-hidden`}>
      <div className={`relative bg-background`}>
        <div className="max-w-7xl mx-auto">
          <div
            className={`relative z-10 pb-8 bg-background sm:pb-16 md:pb-20 lg:max-w-2xl lg:w-full lg:pb-28 xl:pb-32`}
          >
            <Header />
            <MainHero />
          </div>
        </div>
        <MainHeroImage />
      </div>
      <Canvas />
      <LazyShow>
        <>
          {/* <Product />
          <Canvas /> */}
        </>
      </LazyShow>
      <Chatbot />
      <LazyShow>
        <>
          <Features1 />
          <Canvas />
        </>
      </LazyShow>
      <div className="quote-section">
        <p className="quote-text">Happier pups = happier humans.</p>
      </div>
      <LazyShow>
        <Features2 />
      </LazyShow>
      <LazyShow>
        <>
          <Canvas />
          <About />
        </>
      </LazyShow>
      <Analytics />
    </div>
    // </PetTypeProvider>
  );
};

export default App;

```

### lint-staged.config.js

```javascript
module.exports = {
  '*.{js,jsx,ts,tsx}': ['eslint --fix', 'eslint'],
  '**/*.ts?(x)': () => 'npm run build-types',
  '*.json': ['prettier --write'],
};

```

### postcss.config.js

```javascript
// Please do not use the array form (like ['tailwindcss', 'postcss-preset-env'])
// it will create an unexpected error: Invalid PostCSS Plugin found: [0]

module.exports = {
  plugins: { tailwindcss: {}, autoprefixer: {} },
};

```

### next-env.d.ts

```typescript
/// <reference types="next" />
/// <reference types="next/types/global" />
/// <reference types="next/image-types/global" />

// NOTE: This file should not be edited
// see https://nextjs.org/docs/basic-features/typescript for more information.

```

### next.config.js

```javascript
/* eslint-disable import/no-extraneous-dependencies */
const withBundleAnalyzer = require('@next/bundle-analyzer')({
  enabled: process.env.ANALYZE === 'true',
});

module.exports = withBundleAnalyzer({
  poweredByHeader: false,
  trailingSlash: true,
  // eslint-disable-next-line prettier/prettier
  basePath: '',
  // The starter code load resources from `public` folder with `router.basePath` in React components.
  // So, the source code is "basePath-ready".
  // You can remove `basePath` if you don't need it.
  reactStrictMode: true,
});

```

### tailwind.config.js

```javascript
module.exports = {
  mode: 'jit',
  purge: ['./src/**/*.{js,ts,jsx,tsx}'],
  darkMode: false,
  theme: {
    fontSize: {
      xs: '0.75rem',
      sm: '0.875rem',
      base: '1rem',
      lg: '1.125rem',
      xl: '1.25rem',
      '2xl': '1.5rem',
      '3xl': '1.875rem',
      '4xl': '2.25rem',
      '5xl': '3rem',
      '6xl': '4rem',
    },
    extend: {
      colors: {
        primary: '#ec4755',
        secondary: '#a12c34',
        tertiary: '#99a0a3',
        border: '#1a2e35',
        background: '#ffffff',
      },
      animation: {
        vote: 'vote 1s ease-in-out',
      },
      keyframes: {
        vote: {
          '0%, 100%': {
            transform: 'rotate(0deg)',
          },
          '25%': {
            transform: 'rotate(-30deg)',
          },
          '75%': {
            transform: 'rotate(30deg)',
          },
        },
      },
      height: {
        18: '14rem', // or whatever value you need
      },
      width: {
        18: '14rem', // or whatever value you need
      },
    },
  },
  variants: {},
  plugins: [],
};

```

[43 more indexed source files omitted to keep this export small. The full file list is in the Codebase structure section above.]