How syqenov/cpe314--69323--capstone-team-03 works
PawTrack is a Swing desktop shelter and adoption tracker. Staff or adopters enter through the GUI, authenticate, and use animal, adoption, waitlist, classification, import, and analytics workflows backed by local SQLite; the GUI can also request pet images from external providers. The graph follows relationships shown in sampled source or the SOURCE INDEX. Several controllers and services were not excerpted, so their connections are omitted rather than inferred.
Main entry points: MainFrame.java Shelter GUI · CsvImportService.java CSV import · AdoptionController.java Adoption workflow · WaitlistController.java Waitlist workflow
Components 27
Desktop application
- Application startup
src/main/java/pawtrack/Main.java - Shelter GUI
src/main/java/pawtrack/ui/MainFrame.java - Login and account UI
src/main/java/pawtrack/ui/LoginPanel.java - Image worker
src/main/java/pawtrack/ui/ImageWorker.java - Import worker
src/main/java/pawtrack/ui/ImportWorker.java
Shelter workflows
- Authentication
src/main/java/pawtrack/controller/AuthController.java - Animal management
src/main/java/pawtrack/controller/AnimalController.java - Adoption workflow
src/main/java/pawtrack/controller/AdoptionController.java - Waitlist workflow
src/main/java/pawtrack/controller/WaitlistController.java - Breed classification
src/main/java/pawtrack/service/ClassificationService.java - Classification workflow
src/main/java/pawtrack/controller/ClassificationController.java - Import workflow
src/main/java/pawtrack/controller/ImportController.java - CSV import
src/main/java/pawtrack/service/CsvImportService.java - Analytics reporting
src/main/java/pawtrack/service/AnalyticsService.java - Status undo history
src/main/java/pawtrack/service/StatusHistoryService.java
Domain and storage
- Animal domain
src/main/java/pawtrack/model/Animal.java - Adopter domain
src/main/java/pawtrack/model/Adopter.java - Adoption records
src/main/java/pawtrack/model/AdoptionRecord.java - Classification tree
src/main/java/pawtrack/model/ClassificationNode.java - Animal storage
src/main/java/pawtrack/dao/AnimalDao.java - Adopter storage
src/main/java/pawtrack/dao/AdopterDao.java - Adoption storage
src/main/java/pawtrack/dao/AdoptionRecordDao.java - Classification storage
src/main/java/pawtrack/dao/ClassificationDao.java - SQLite database
src/main/java/pawtrack/dao/Database.java
External services
- Pet image providers
src/main/java/pawtrack/api/PetImageServiceFactory.java - Public image APIs
Other components
- Staff or adopter
Connections 35
- Staff or adopter → Application startup: launches
src/main/java/pawtrack/Main.java - Application startup → Shelter GUI: opens
src/main/java/pawtrack/Main.java - Application startup → Login and account UI: shows
src/main/java/pawtrack/Main.java - Shelter GUI → Authentication: uses
src/main/java/pawtrack/ui/MainFrame.java - Shelter GUI → Animal management: uses
src/main/java/pawtrack/ui/MainFrame.java - Shelter GUI → Adoption workflow: uses
src/main/java/pawtrack/ui/MainFrame.java - Shelter GUI → Waitlist workflow: uses
src/main/java/pawtrack/ui/MainFrame.java - Shelter GUI → Classification workflow: uses
src/main/java/pawtrack/ui/MainFrame.java - Shelter GUI → Import workflow: uses
src/main/java/pawtrack/ui/MainFrame.java - Shelter GUI → Analytics reporting: uses
src/main/java/pawtrack/ui/MainFrame.java - Authentication → SQLite database: reads users
src/main/java/pawtrack/controller/AuthController.java - Animal management → Animal storage: reads and updates
src/main/java/pawtrack/controller/AnimalController.java - Adoption workflow → Adopter storage: finds adopters
src/main/java/pawtrack/controller/AdoptionController.java - Adoption workflow → Animal storage: updates animals
src/main/java/pawtrack/controller/AdoptionController.java - Adoption workflow → Adoption storage: records adoptions
src/main/java/pawtrack/controller/AdoptionController.java - Adoption workflow → Status undo history: records status
src/main/java/pawtrack/controller/AdoptionController.java - Waitlist workflow → Adopter storage: persists adopters
src/main/java/pawtrack/controller/WaitlistController.java - Waitlist workflow → Animal storage: updates status
src/main/java/pawtrack/controller/WaitlistController.java - Waitlist workflow → Status undo history: records status
src/main/java/pawtrack/controller/WaitlistController.java - Waitlist workflow → Adopter domain: queues interest
src/main/java/pawtrack/controller/WaitlistController.java - Classification workflow → Breed classification: delegates to
src/main/java/pawtrack/controller/ClassificationController.java - Breed classification → Classification storage: loads tree
src/main/java/pawtrack/service/ClassificationService.java - Import workflow → CSV import: runs import
src/main/java/pawtrack/controller/ImportController.java - CSV import → Animal storage: stores animals
src/main/java/pawtrack/service/CsvImportService.java - CSV import → Adopter storage: stores adopters
src/main/java/pawtrack/service/CsvImportService.java - CSV import → Adoption storage: stores adoptions
src/main/java/pawtrack/service/CsvImportService.java - CSV import → Breed classification: uses taxonomy
src/main/java/pawtrack/service/CsvImportService.java - Import worker → CSV import: runs asynchronously
src/main/java/pawtrack/ui/ImportWorker.java - Analytics reporting → Animal domain: analyzes
src/main/java/pawtrack/service/AnalyticsService.java - Analytics reporting → Adoption records: analyzes
src/main/java/pawtrack/service/AnalyticsService.java - Breed classification → Classification tree: builds tree
src/main/java/pawtrack/service/ClassificationService.java - Animal storage → SQLite database: queries
src/main/java/pawtrack/dao/AnimalDao.java - Pet image providers → Public image APIs: fetches images
- Shelter GUI → Pet image providers: selects providers
src/main/java/pawtrack/ui/MainFrame.java - Image worker → Pet image providers: fetches images