How saeed99madi/vet works
Paws is a veterinary community web app: pet owners and veterinarians register or sign in, then use community posts, doctor discovery, appointment booking, and urgent private chat. The React client presents these journeys and calls the Express API; API controllers validate requests and persist domain records through Sequelize to PostgreSQL. Chat, active-user presence, image storage, and notifications use Firebase according to the README and client helpers. Some route and integration wiring is documented but not sampled, so only supported links are shown and unsampled areas use existing directory paths.
Main entry points: index.ts API routes · models Domain models · App.tsx React app · ApiService.ts API client
Components 22
Web client
- React app
client/src/App.tsx - Sign-in / signup
client/src/hooks/useAuth.tsx - API client
client/src/services/ApiService.ts - Community posts
client/src/components/PostCard - Doctor discovery
client/src/pages/Doctors.tsx - Appointment calendar
client/src/components/Profile/Calender - Emergency chat
client/src/components/Emergency - Notifications
client/src/components/Notification
API server
- Express app
src/app.ts - API routes
src/routes/index.ts
Domain services
- Authentication
src/controllers/AuthController.ts - Posts
src/controllers/PostsController.ts - Comments and likes
src/controllers - Doctor profiles
src/controllers/DoctorController.ts - Appointments
src/controllers/Appointment.ts - Chat and presence
client/src/helpers - Notification helpers
client/src/helpers
Data and integrations
- Domain models
src/models - PostgreSQL
src/db/connection.ts - Firebase services
client/src/helpers/Firebase.config.ts
Other components
- Pet owners
- Veterinarians
Connections 26
- Pet owners → React app: use
- Veterinarians → React app: use
- React app → Sign-in / signup: provides auth
- Sign-in / signup → API client: requests auth
- Community posts → API client: requests posts
- Doctor discovery → API client: requests doctors
- Appointment calendar → API client: requests bookings
- React app → Emergency chat: renders
- React app → Notifications: renders
- API client → Express app: sends API requests
- Express app → API routes: dispatches API
- API routes → Authentication: dispatches auth
- API routes → Posts: dispatches posts
- API routes → Comments and likes: dispatches interactions
- API routes → Doctor profiles: dispatches doctor routes
- API routes → Appointments: dispatches appointments
- Posts → Domain models: reads/writes posts
- Comments and likes → Domain models: reads/writes interactions
- Doctor profiles → Domain models: reads/writes profiles
- Appointments → Domain models: reads/writes bookings
- Authentication → Domain models: reads/writes users
- Domain models → PostgreSQL: persists records
- Emergency chat → Chat and presence: uses chat helpers
- Chat and presence → Firebase services: uses realtime services
- Notifications → Notification helpers: uses helpers
- Notification helpers → Firebase services: uses notifications