Back to projects
PetSoft

PetSoft

Magda Gozdalik/ 6 September 2025

PetSoft

Cutting‐edge Next.js application for pet daycare management, featuring full CRUD, optimistic UI, server actions, authentication, payments, and seamless database integration (SQLite for local development, PostgreSQL in production via Prisma Data Proxy). Deployed on Vercel.

🔗 Live Demo

📖 Overview

PetSoft empowers pet daycare owners to:

  • Keep track of pets under care (CRUD operations)

  • View real‐time data with optimistic UI updates

  • Securely authenticate users and manage sessions

  • Process payments via Stripe Checkout

  • Deploy globally with Vercel and Prisma Accelerate

🚀 Features

Routing & UI

  • Private, public, and auth routes: fine‐grained access control using NextAuth callbacks

  • Shadcn/ui: accessible, consistent component library for building UI

Data Management

  • Server Components & Actions: fetch data in server layouts, mutate via server actions with revalidatePath for fresh data

  • Prisma ORM: SQLite in dev, PostgreSQL in production (Prisma Accelerate/Data Proxy)

  • CRUD logic: create, read, update, delete pets in dashboard forms

  • Optimistic UI: immediate feedback while server operations complete

  • Context API: global search and pets context for state management

Validation & Types

  • Zod schemas: form validation client‐side and server‐side in actions

  • TypeScript safety: full typing with Prisma model types

  • React Hook Form: unified error handling via useFormState, useFormStatus, and useTransition

Authentication & Payments

  • NextAuth: JWT‐based credentials provider, custom callbacks, and session token updates

  • Stripe Checkout: payment flow with success/cancel URLs, webhook verification, add webhook endpoint for production, Sonner notifications

NOTE Use Strapi test card number: 4242 4242 4242 4242

Dev Tools & Patterns

  • Env management: .env

  • Prisma Migrate & Seed: database migrations, seed scripts for initial data

  • NGROK: expose local webhooks to Stripe CLI for testing

  • Error Boundaries & 404: planned enhancements

🛠️ Tech Stack

  • Next.js 14 (App Router, React 18+)

  • TypeScript

  • Prisma ORM + Prisma Accelerate/Data Proxy

  • Shadcn/ui, Lucide icons, Tailwind

  • React Hook Form, Zod

  • NextAuth.js

  • Stripe Node.js SDK, Sonner for toast notifications

  • Vercel for hosting & CI