A comprehensive local pet care service directory built with Next.js, helping pet owners find trusted veterinarians, groomers, trainers, and pet sitters in their area.
- Advanced Search: Find pet services by location and category
- Smart Filters: Emergency services, insurance acceptance, current hours
- Service Categories: Veterinary, Grooming, Boarding, Training, Pet Sitting
- Real-time Availability: Shows currently open services
- Detailed Information: Hours, contact info, services offered
- Service Badges: Emergency care, insurance acceptance, certifications
- Customer Reviews: Verified reviews and ratings
- Specialties: Pet types and specialized services
- Mobile-First Design: Responsive across all devices
- WCAG 2.2 AA Compliant: Full accessibility support
- Fast Performance: Optimized loading and interactions
- SEO Optimized: Structured data and meta tags
- Pet Care Blog: Expert guides and tips
- Local Insights: Area-specific pet care advice
- Service Guides: How to choose the right provider
- Strategic Ad Placement: Header, sidebar, and mobile ad zones
- Affiliate Marketing: Pet product recommendations
- Sponsored Listings: Premium service placement
- Framework: Next.js 15 with TypeScript
- Database: PostgreSQL with Prisma ORM
- Styling: Tailwind CSS with custom components
- APIs: Google Places API for service discovery
- Deployment: Netlify-ready configuration
- Analytics: Vercel Analytics integration
- Node.js 18+
- PostgreSQL database
- Google Places API key
-
Clone the repository
git clone https://github.com/danbivins/pet-care.git cd pet-care -
Install dependencies
npm install
-
Set up environment variables
cp .env.example .env.local
Add your environment variables:
DATABASE_URL="postgresql://..." GOOGLE_PLACES_API_KEY="your_api_key" NEXT_PUBLIC_SITE_URL="http://localhost:3000"
-
Set up the database
npx prisma generate npx prisma migrate dev
-
Start the development server
npm run dev
Visit http://localhost:3000 to see the application.
PetService - Main service provider model
- Basic info (name, address, contact)
- Service type (veterinary, grooming, boarding, etc.)
- Specialties and certifications
- Business details (hours, pricing, insurance)
ServiceAppointment - Booking and appointment tracking
- Appointment details and duration
- Service type and pricing estimates
- Customer notes and source tracking
Review - Customer feedback system
- Ratings and review text
- Verification status and author info
- Date tracking and source attribution
- Skip Navigation: Direct access to main content
- Keyboard Navigation: Full keyboard accessibility
- Screen Reader Support: ARIA labels and semantic HTML
- High Contrast: Support for high contrast mode
- Focus Indicators: Clear focus states for all interactive elements
- Mobile-First: Optimized for mobile devices
- Tablet Support: Enhanced layout for tablets
- Desktop Experience: Full-featured desktop interface
- Local business schema markup
- Article schema for blog content
- Service-specific structured data
- Image Optimization: Next.js automatic image optimization
- Code Splitting: Lazy loading for heavy components
- Caching: API response caching
- Core Web Vitals: Optimized loading performance
npm run dev # Start development server
npm run build # Build for production
npm run start # Start production server
npm run lint # Run ESLint
npm run typecheck # Run TypeScript checks
npm run prisma:studio # Open Prisma Studiosrc/
βββ app/ # Next.js 13+ app directory
β βββ api/ # API routes
β βββ blog/ # Blog pages and articles
β βββ pet-services/ # Service detail pages
β βββ globals.css # Global styles and accessibility
βββ components/ # Reusable UI components
βββ lib/ # Utility functions and configurations
βββ prisma/ # Database schema and migrations
- Connect your GitHub repository to Netlify
- Set build command:
npm run build - Set publish directory:
.next - Add environment variables in Netlify dashboard
- Deploy!
DATABASE_URL="your_production_database_url"
GOOGLE_PLACES_API_KEY="your_api_key"
NEXT_PUBLIC_SITE_URL="https://your-domain.com"- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
For support, please open an issue on GitHub or contact the development team.
- Multi-language support
- Advanced booking system
- Service provider dashboard
- Mobile app development
- AI-powered service recommendations
- Integration with veterinary records systems
Built with β€οΈ for pet owners and their beloved companions πΎ