The project follows the University of Calgary OOP course standards with the following package structure:
edu.ucalgary.oop/
├── model/ # Domain model classes (*.java and *.class files)
├── service/ # Business logic and services
├── ui/ # User interface components
├── exception/ # Custom exceptions
├── util/ # Utility classes
└── dao/ # Data access objects
- OpenJDK 11 (required)
- PostgreSQL JDBC driver (postgresql.jar)
-
Install OpenJDK 11:
brew install openjdk@11 sudo ln -sfn /opt/homebrew/opt/openjdk@11/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-11.jdk
-
Download PostgreSQL JDBC driver:
curl -o postgresql.jar https://jdbc.postgresql.org/download/postgresql-42.7.2.jar
- Run the build script:
This will compile all .java files and create .class files in the same directories.
./build.sh
- After building, run the application:
java -cp .:postgresql.jar edu.ucalgary.oop.Main
The database.properties file should be in the root directory with the following structure:
db.url=jdbc:postgresql://localhost:5432/vet_clinic
db.driver=org.postgresql.Driver
db.user=your_username
db.password=your_password@author Group 3