PetPal is a comprehensive pet management application designed to help pet owners track and manage all aspects of their pets' health, care, and appointments.
- User Registration & Login: Secure account creation and authentication
- Profile Management: Update personal information and preferences
- Password Reset: Self-service password recovery
- Add & Manage Pets: Store comprehensive pet information
- Pet Profiles: Track species, breed, age, and other details
- Photo Upload: Add images to easily identify your pets
- Vet Visit Tracking: Record and manage veterinary appointments
- Medication Management: Track medications, dosages, and schedules
- Vaccination Records: Monitor immunization history and due dates
- Weight & Growth Tracking: Chart your pet's development over time
- Schedule Management: Create and manage vet appointments
- Calendar Integration: View all upcoming events in one place
- Reminders: Get alerts for upcoming appointments
- Meal Planning: Create and manage feeding routines
- Portion Control: Track food amounts and dietary needs
- Centralized Dashboard: Quick overview of all pet information
- Upcoming Events: See scheduled appointments and reminders
- Export Functionality: Download pet records for offline use or sharing
- Veterinarian Directory: Store contact information for all your pet care providers
- Provider Association: Link providers to specific pet records
- Notification Settings: Configure how and when you receive alerts
- Theme Preferences: Customize the application's appearance
- Node.js (v18 or higher)
- npm or yarn package manager
-
Clone the repository
-
Install dependencies
npm install
-
Start the development server
npm run dev
-
Open http://localhost:3000 in your browser
The client application requires a backend API running at http://localhost:5000
. See the backend repository for setup instructions.
Provides authentication state and functions throughout the application:
- User information
- Login/logout functionality
- Role-based permission checks
Modular service functions for API communication:
apiService.js
: Core HTTP request handlingpetService.js
: Pet-related API endpointsappointmentService.js
: Appointment managementhealthRecordService.js
: Health record operationsauthService.js
: Authentication endpoints
Components that restrict access to authenticated users only, redirecting unauthenticated users to the login page.
Components that catch JavaScript errors and display fallback UI to prevent the entire application from crashing.
This project is licensed under the MIT License - see the LICENSE file for details.