chore: rename project from OnlyPets to PawFeed (domain: pawfeed.org)
This commit is contained in:
1 parent
45c1410651
commit
eeab28e8cb
12 files changed
+31
-18
No files matched your search
@@ -35,7 +35,20 @@
|
||||
"Skill(gsd:progress)",
|
||||
"Bash(node \"T:/CC-Projekte/.claude/gsd-core/bin/gsd-tools.cjs\" query state.advance-plan --phase 1 --plan \"01-03\")",
|
||||
"Bash(git stash *)",
|
||||
"Bash(echo \"Exit: $?\")"
|
||||
"Bash(echo \"Exit: $?\")",
|
||||
"Bash(node \"T:/CC-Projekte/.claude/gsd-core/bin/gsd-tools.cjs\" query init.progress)",
|
||||
"Bash(node \"T:/CC-Projekte/.claude/gsd-core/bin/gsd-tools.cjs\" query roadmap.analyze)",
|
||||
"Bash(node \"T:/CC-Projekte/.claude/gsd-core/bin/gsd-tools.cjs\" query state-snapshot)",
|
||||
"Bash(node \"T:/CC-Projekte/.claude/gsd-core/bin/gsd-tools.cjs\" query progress.bar --raw)",
|
||||
"Bash(node \"T:/CC-Projekte/.claude/gsd-core/bin/gsd-tools.cjs\" query audit-uat --raw)",
|
||||
"Bash(node \"T:/CC-Projekte/.claude/gsd-core/bin/gsd-tools.cjs\" query roadmap.get-phase 2)",
|
||||
"Bash(ls .planning/phases/01-foundation/*-UAT.md)",
|
||||
"Bash(ls .planning/todos/pending/*.md)",
|
||||
"Bash(ls .planning/debug/*.md)",
|
||||
"Bash(node \"T:/CC-Projekte/.claude/gsd-core/bin/gsd-tools.cjs\" query config-get workflow.discuss_mode)",
|
||||
"Bash(node \"T:/CC-Projekte/.claude/gsd-core/bin/gsd-tools.cjs\" query phase.mvp-mode 1 --pick active)",
|
||||
"Bash(node \"T:/CC-Projekte/.claude/gsd-core/bin/gsd-tools.cjs\" query state.advance-plan --phase 1 --plan \"01-04\")",
|
||||
"Bash(node \"T:/CC-Projekte/.claude/gsd-core/bin/gsd-tools.cjs\" query commit \"chore\\(01\\): phase 1 complete\" --files \".planning/STATE.md\" \".planning/ROADMAP.md\" \".planning/phases/01-foundation/01-04-SUMMARY.md\" \".planning/phases/01-foundation/SUMMARY.md\")"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -1,8 +1,8 @@
|
||||
# OnlyPets
|
||||
# PawFeed
|
||||
|
||||
## What This Is
|
||||
|
||||
OnlyPets is a social platform where pets are the stars. Dogs, cats, and birds get their own profiles — owners manage them, but the pet is the identity. Think Instagram built from the ground up for animals: pets follow each other, post photos and videos, celebrate milestones, and track their health, all within a community that actually cares about animals.
|
||||
PawFeed is a social platform where pets are the stars. Dogs, cats, and birds get their own profiles — owners manage them, but the pet is the identity. Think Instagram built from the ground up for animals: pets follow each other, post photos and videos, celebrate milestones, and track their health, all within a community that actually cares about animals.
|
||||
|
||||
## Core Value
|
||||
|
||||
@@ -42,7 +42,7 @@ Pets are first-class social identities — not just content on a human's feed
|
||||
|
||||
## Context
|
||||
|
||||
- The project name "OnlyPets" signals a pet-exclusive space — no human lifestyle content bleeding in
|
||||
- The project name "PawFeed" signals a pet-exclusive space — no human lifestyle content bleeding in
|
||||
- Pets as social identities is the core differentiator from Instagram; the UX should reinforce this (pet name first, owner is "managed by @owner")
|
||||
- Content types mirror modern social platforms (photos, short video, stories) so the learning curve is low for Instagram/TikTok users
|
||||
- Health tracking is a meaningful differentiator — shareable vet records and milestone history turn the profile into a pet's digital life record
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Requirements: OnlyPets
|
||||
# Requirements: PawFeed
|
||||
|
||||
**Defined:** 2026-06-05
|
||||
**Core Value:** Pets are first-class social identities — not just content on a human's feed — so every feature is built around the pet's life, not the owner's.
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# Roadmap: OnlyPets
|
||||
# Roadmap: PawFeed
|
||||
|
||||
## Overview
|
||||
|
||||
OnlyPets is built in strict dependency order. Phase 1 establishes the identity and media infrastructure that every subsequent phase depends on — Clerk owner auth, the pet-as-actor data model, and the Cloudflare R2 presigned upload pipeline. Phase 2 delivers the complete social posting loop (photo posts, stories, milestone posts, social graph, home feed, and the safety baseline required before any public access). Phase 3 adds engagement depth and discovery. Phase 4 closes the notification loop. Phase 5 introduces async video via Mux. Phases 6 and 7 deliver the independent DM and health tracking subsystems that can be built once the platform core is stable.
|
||||
PawFeed is built in strict dependency order. Phase 1 establishes the identity and media infrastructure that every subsequent phase depends on — Clerk owner auth, the pet-as-actor data model, and the Cloudflare R2 presigned upload pipeline. Phase 2 delivers the complete social posting loop (photo posts, stories, milestone posts, social graph, home feed, and the safety baseline required before any public access). Phase 3 adds engagement depth and discovery. Phase 4 closes the notification loop. Phase 5 introduces async video via Mux. Phases 6 and 7 deliver the independent DM and health tracking subsystems that can be built once the platform core is stable.
|
||||
|
||||
## Phases
|
||||
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
|
||||
## Project
|
||||
|
||||
**OnlyPets**
|
||||
**PawFeed**
|
||||
|
||||
OnlyPets is a social platform where pets are the stars. Dogs, cats, and birds get their own profiles — owners manage them, but the pet is the identity. Think Instagram built from the ground up for animals: pets follow each other, post photos and videos, celebrate milestones, and track their health, all within a community that actually cares about animals.
|
||||
PawFeed is a social platform where pets are the stars. Dogs, cats, and birds get their own profiles — owners manage them, but the pet is the identity. Think Instagram built from the ground up for animals: pets follow each other, post photos and videos, celebrate milestones, and track their health, all within a community that actually cares about animals.
|
||||
|
||||
**Core Value:** Pets are first-class social identities — not just content on a human's feed — so every feature is built around the pet's life, not the owner's.
|
||||
|
||||
@@ -74,7 +74,7 @@ OnlyPets is a social platform where pets are the stars. Dogs, cats, and birds ge
|
||||
|
||||
| Technology | Version | Purpose | Why |
|
||||
|------------|---------|---------|-----|
|
||||
| Clerk | Latest | Authentication provider | Clerk is the standard choice for Next.js 15 App Router auth in 2025. Ships with: pre-built UI components (sign-in, sign-up, user profile), social OAuth (Google, Apple, Facebook — important for pet-owner onboarding friction), session management with edge-compatible JWT verification, webhooks for user lifecycle events. The `@clerk/nextjs` middleware integration is first-class. **Note:** OnlyPets has a two-layer identity (owner account + pet profile). Clerk manages the owner account; your DB manages the pet-as-identity layer. Do NOT try to put pets as Clerk users — they are not auth entities, they are app-domain entities. |
|
||||
| Clerk | Latest | Authentication provider | Clerk is the standard choice for Next.js 15 App Router auth in 2025. Ships with: pre-built UI components (sign-in, sign-up, user profile), social OAuth (Google, Apple, Facebook — important for pet-owner onboarding friction), session management with edge-compatible JWT verification, webhooks for user lifecycle events. The `@clerk/nextjs` middleware integration is first-class. **Note:** PawFeed has a two-layer identity (owner account + pet profile). Clerk manages the owner account; your DB manages the pet-as-identity layer. Do NOT try to put pets as Clerk users — they are not auth entities, they are app-domain entities. |
|
||||
|
||||
### Infrastructure & Deployment
|
||||
|
||||
|
||||
Generated
+2
-2
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"name": "onlypets",
|
||||
"name": "pawfeed",
|
||||
"version": "0.1.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "onlypets",
|
||||
"name": "pawfeed",
|
||||
"version": "0.1.0",
|
||||
"dependencies": {
|
||||
"@aws-sdk/client-s3": "^3.1062.0",
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"name": "onlypets",
|
||||
"name": "pawfeed",
|
||||
"version": "0.1.0",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ import { PrismaPg } from "@prisma/adapter-pg";
|
||||
import { Pool } from "pg";
|
||||
|
||||
/**
|
||||
* Seed script for the OnlyPets database.
|
||||
* Seed script for the PawFeed database.
|
||||
* Seeds Species (Dog, Cat, Bird) and Breed taxonomy idempotently.
|
||||
* Uses upsert so it is safe to run multiple times.
|
||||
*
|
||||
|
||||
@@ -32,7 +32,7 @@ export function PetGrid({ pets }: PetGridProps) {
|
||||
<div className="flex flex-col items-center justify-center gap-4 rounded-xl border-2 border-dashed border-muted p-12 text-center">
|
||||
<p className="text-base font-semibold">Add your first pet</p>
|
||||
<p className="text-sm text-muted-foreground max-w-sm">
|
||||
Give your pet their own profile on OnlyPets.
|
||||
Give your pet their own profile on PawFeed.
|
||||
</p>
|
||||
<Button
|
||||
onClick={() => router.push("/onboarding/pet")}
|
||||
|
||||
+1
-1
@@ -12,7 +12,7 @@ const inter = Inter({
|
||||
});
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: "OnlyPets",
|
||||
title: "PawFeed",
|
||||
description: "The social platform where pets are the stars.",
|
||||
};
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ export default function OnboardingPetPage() {
|
||||
<div className="w-full max-w-[512px] p-8">
|
||||
<h1 className="text-xl font-semibold mb-2">Add your first pet</h1>
|
||||
<p className="text-sm text-muted-foreground mb-8">
|
||||
Your pet will be their own star on OnlyPets.
|
||||
Your pet will be their own star on PawFeed.
|
||||
</p>
|
||||
|
||||
<PetForm
|
||||
|
||||
@@ -72,7 +72,7 @@ export function Sidebar({ pets }: SidebarProps) {
|
||||
{/* Wordmark */}
|
||||
<div className="flex items-center gap-2 px-4 py-5">
|
||||
<PawPrint className="h-5 w-5 text-orange-500" aria-hidden="true" />
|
||||
<span className="text-xl font-semibold text-foreground">OnlyPets</span>
|
||||
<span className="text-xl font-semibold text-foreground">PawFeed</span>
|
||||
</div>
|
||||
|
||||
{/* Pet switcher */}
|
||||
|
||||
Reference in new issue
Block a user