How adrienylaiz-alt/amparapet works
AmparaPet is an animal-adoption site and shelter-management system. Visitors browse and filter animal listings, view an animal’s details, and can register interest for WhatsApp contact; administrators log in to manage animals, photos, statuses, shelter settings, users, and dashboard totals. The browser frontend calls a FastAPI backend, which validates and processes requests using shared business services and persists records in MySQL. The README documents these capabilities; several page and router implementations are represented by their exact paths but were not sampled, so their internal call details are not asserted.
Main entry points: api.js API client · admin.py Admin API routes · main.py API application · database.py Database connection
Components 29
Public adoption site
- Public pages
frontend - Animal catalog
frontend/js/catalogo.js - Animal details
frontend/js/pages/animal.js - Adoption information
frontend/js/pages/como-adotar.js - Shared layout
frontend/js/layout.js
Shelter administration
- Admin pages
frontend/admin - Animal management UI
frontend/js/pages/admin-animal.js - Dashboard and reports
frontend/js/pages/admin-dashboard.js - Shelter settings UI
frontend/js/pages/admin-configuracoes.js - User management UI
frontend/js/pages/admin-animais.js - Admin layout
frontend/js/layout.js
API and domain logic
- API client
frontend/js/api.js - API endpoint config
frontend/js/config.js - Public API routes
backend/app/routers/publico.py - Admin API routes
backend/app/routers/admin.py - Authentication routes
backend/app/routers/auth.py - User routes
backend/app/routers/usuarios.py - Domain services
backend/app/servicos.py - Sessions and security
backend/app/security.py - Request and response schemas
backend/app/schemas.py - API application
backend/app/main.py
Persistence and media
- Database models
backend/app/models.py - Database connection
backend/app/database.py - MySQL database
- Image processing
backend/app/imagens.py - Uploaded image files
backend/app/config.py
Other components
- Visitor
- Administrator
Connections 40
- Visitor → Public pages: browses
README.md - Public pages → Animal catalog: loads catalog
frontend/js/pages/animais.js - Animal catalog → API client: requests listings
frontend/js/catalogo.js - Public pages → Shared layout: uses layout
frontend/js/pages/index.js - Public pages → Animal catalog: loads catalog
frontend/js/pages/animais.js - Animal details → API client: requests details
frontend/js/pages/animal.js - Animal details → Shared layout: uses layout
frontend/js/pages/animal.js - Adoption information → Shared layout: uses layout
frontend/js/pages/como-adotar.js - Shared layout → API client: loads shelter data
frontend/js/layout.js - Administrator → Admin pages: manages shelter
README.md - Admin pages → Admin layout: uses layout
- Animal management UI → API client: manages animals
frontend/js/pages/admin-animal.js - Dashboard and reports → API client: loads dashboard
frontend/js/pages/admin-dashboard.js - Shelter settings UI → API client: updates shelter
frontend/js/pages/admin-configuracoes.js - User management UI → API client: manages animals
frontend/js/pages/admin-animais.js - Admin layout → API client: uses API
frontend/js/layout.js - API client → API endpoint config: uses endpoint
frontend/js/api.js - API client → API application: sends requests
README.md - API application → Public API routes: registers routes
backend/app/main.py - API application → Admin API routes: registers routes
backend/app/main.py - API application → Authentication routes: registers routes
backend/app/main.py - API application → User routes: registers routes
backend/app/main.py - Public API routes → Domain services: uses services
backend/app/routers/publico.py - Admin API routes → Domain services: uses services
backend/app/routers/admin.py - Admin API routes → Image processing: manages photos
backend/app/routers/admin.py - Authentication routes → Sessions and security: uses security
backend/app/routers/auth.py - User routes → Sessions and security: uses security
backend/app/routers/usuarios.py - Admin API routes → Sessions and security: requires session
backend/app/routers/admin.py - Public API routes → Request and response schemas: validates output
backend/app/routers/publico.py - Admin API routes → Request and response schemas: validates input
backend/app/routers/admin.py - Domain services → Request and response schemas: builds responses
backend/app/servicos.py - Domain services → WhatsApp: creates contact link
backend/app/servicos.py - API application → Database connection: initializes database
backend/app/main.py - Database connection → MySQL database: connects
backend/app/database.py - Database connection → Database models: provides base
backend/app/models.py - Public API routes → Database connection: uses session
backend/app/routers/publico.py - Admin API routes → Database connection: uses session
backend/app/routers/admin.py - Sessions and security → Database connection: uses session
backend/app/security.py - Domain services → Database models: reads and updates
backend/app/servicos.py - Image processing → Uploaded image files: stores media
backend/app/imagens.py