PetCare Solutions is a Windows Forms solution for managing veterinary clinic operations and pet owner booking requests.
| Project | Purpose | Startup form |
|---|---|---|
| PetCare.ClinicManagement | Clinic/admin application for users, owners, pets, veterinarians, appointments, medical records, and booking approvals. | LoginForm |
| PetCare.OwnerBooking | Pet owner application for phone-number login and appointment request submission. | OwnerLoginForm |
- C#
- .NET Framework 4.7.2
- Windows Forms
- SQL Server
- Visual Studio 2019 or newer
PetCareSolutions.sln
src/
PetCare.ClinicManagement/
PetCare.ClinicManagement.csproj
PetCare.OwnerBooking/
PetCare.OwnerBooking.csproj
database/
PetCareSolutions.sql
docs/
MAINTENANCE.md
screenshots/
The root PetCareSolutions.sln is the main entry point for development.
- Open SQL Server Management Studio.
- Run
database/PetCareSolutions.sql. - Confirm the
PetCareSolutionsdatabase was created. - Update both
App.configfiles if your SQL Server instance is notMOHAMMAD:
<connectionStrings>
<add name="bitcINTERFACE.Properties.Settings.PetCareSolutionsConnectionString"
connectionString="Data Source=MOHAMMAD;Initial Catalog=PetCareSolutions;Integrated Security=True;Encrypt=True;TrustServerCertificate=True"
providerName="System.Data.SqlClient" />
</connectionStrings>The owner app uses the connection name:
BookingRequests_System.Properties.Settings.PetCareSolutionsConnectionString
- Open
PetCareSolutions.slnin Visual Studio. - Build the solution using
Build > Build Solution. - Set the desired startup project:
PetCare.ClinicManagementfor clinic/admin workflows.PetCare.OwnerBookingfor owner booking workflows.
- Press
F5.
Command-line build with Visual Studio MSBuild:
& "C:\Program Files\Microsoft Visual Studio\18\Community\MSBuild\Current\Bin\MSBuild.exe" PetCareSolutions.sln /t:Build /p:Configuration=Release- Generated folders such as
.vs,bin, andobjare intentionally ignored. - Connection strings are read through
DatabaseConfig; forms access SQL connections through the localDatabasehelper in each application. - User-facing error dialogs avoid raw technical exception details; diagnostic details are written to Debug output during development.
- Clinic user passwords are stored in the
passwordHashcolumn using PBKDF2 hashes. Existing legacy plain-text passwords are upgraded automatically after a successful login.