How boxboxmn/pawssion-pet-adoption-and-welfare-system works
PAWSsion is a pet-adoption and welfare application for adopters, animal-welfare organizations, and administrators. The adopter workflow spans account access, pet discovery and matching, adoption applications and interviews, donations, and post-adoption updates. Organizations manage pets, applications, donations, and reporting; administrators oversee accounts, partner organizations, and platform activity. The sampled source shows an Express/MySQL application and an optional Flask-backed matching service. Several README-described capabilities are represented by their product areas, but unsampled routes and modules do not establish all internal call links.
Main entry points: user Adopter pages · database.js Application database · userRoutes.js Adopter routes · organization Organization pages
Components 25
User experience
- Adopter pages
public/user - Organization pages
public/organization - Admin pages
public/admin - Account pages
public/auth
Application API
- Express server
server.js - Authentication routes
routes/auth.js - Adopter routes
routes/userRoutes.js - Organization routes
routes/orgRoutes.js - Admin routes
routes/adminRoutes.js - Auth controller
controllers/AuthController.js - Application database
config/database.js
Adoption operations
- Adopter controller
controllers/userController.js - Organization controller
controllers/orgController.js - Adoption model
models/userModel.js - Adopter activities
public/assets/js/userKamustahan.js - Organization analytics
public/assets/js/orgAnalytics.js - Donation experiences
public/assets/js/userDonation.js
Platform operations
- Admin controller
controllers/adminController.js
Pet matching
- Match controller
controllers/matchmakerController.js - Embedding client
services/embeddingService.js - Match service
services/matchmakingService.js - Text and embedding API
flask-api/app.py
Other components
- Adopter
- Organization
- Administrator
Connections 28
- Adopter → Account pages: uses
- Adopter → Adopter pages: uses
- Organization → Organization pages: uses
- Administrator → Admin pages: uses
- Account pages → Authentication routes: requests
- Authentication routes → Auth controller: dispatches
- Auth controller → Application database: reads and writes
- Adopter pages → Adopter routes: requests
- Express server → Adopter routes: mounts
- Adopter routes → Adopter controller: dispatches
- Adopter controller → Application database: reads and writes
- Adopter controller → Adoption model: calls
- Adopter pages → Match controller: requests
- Adopter routes → Match controller: dispatches
- Match controller → Match service: calls
- Match service → Embedding client: calls
- Embedding client → Text and embedding API: posts text
- Organization pages → Organization routes: requests
- Organization routes → Organization controller: dispatches
- Organization controller → Application database: reads and writes
- Organization controller → Embedding client: generates embeddings
- Admin pages → Admin routes: requests
- Admin routes → Admin controller: dispatches
- Admin controller → Application database: reads and writes
- Express server → Application database: queries
- Adopter pages → Adopter activities: uses
- Organization pages → Organization analytics: uses
- Adopter pages → Donation experiences: uses