Deployment

Package the app so another reviewer can build, run, and verify it.

Build path

Build with Visual Studio or MSBuild

This is a WPF project targeting .NET Framework 4.8. Build it with Visual Studio or Visual Studio MSBuild rather than the modern dotnet build flow.

Release build command

MSBuild.exe AnimalRescueManager.slnx /t:Build /p:Configuration=Release

The release executable is expected under AnimalRescueManager\bin\Release\AnimalRescueManager.exe.

Run behavior

First launch and data files

On launch, the app creates two CSV files beside the executable if they do not already exist. Active records are stored in animals.csv; archived records are stored in archives.csv. Both files use the same header so parsing and saving can share one path.

CSV header

ID,Species,Name,Gender,Spayed,Breed,Colour,Birthday,VaccineStatus,Identification,IdType,IdNumber,AdoptionFee,IsArchived,AdoptedDate,ArchiveDate

Package contents

Submission folder contents

Item Purpose
AnimalRescueManager.slnx Solution entry for opening and building the app.
AnimalRescueManager.csproj Project configuration, target framework, references, and compiled files.
Models/, Services/, Views/ Application source organized by responsibility.
README.md Usage, build, run, data format, and Docker notes.
SCREENSHOTS.md and screenshots/ Workflow evidence for add, edit, search, sort, remove, archive, restore, and help.
Dockerfile Build-only container evidence for the WPF project.
bin/Release/AnimalRescueManager.exe Working Windows executable for review.

Build evidence

Dockerfile role

The Dockerfile uses a Windows .NET Framework SDK image to compile the project with MSBuild and copy release output to C:\app. It is useful as build evidence, but the WPF GUI should be run directly on Windows outside the container.

Docker commands

docker build -t animal-rescue-manager-build .
docker run --rm animal-rescue-manager-build

Verification

Review checklist

  • Release build succeeds without missing references.
  • Executable launches on Windows with no crash on first run.
  • CSV files are created automatically when absent.
  • Every required workflow has a matching screenshot.
  • README commands and paths match the packaged files.
  • Source code is readable, organized, and uses comments only where helpful.
  • Archive and restore behavior keeps active and archived records separate.
  • Adoption fees match the age rules: young, senior, and standard.