Progress Reports

Stage I Report: February 16 - February 26

  • Obtained the project from the VetGo group of the fall 2023 semester.
  • Set up the project so it could run on every group member's machine with the proper packages and dependencies.
  • Changed the Frontend theme to match the new design plan for the application.
  • Restructured the database, specifically for User and Pet models, for maintainability and future functionalities.
  • Fixed multiple screens that could not be opened or resulted in bugs when being opened.
  • Completed and presented our first demonstration of the application.

Stage II Report: February 27 - March 27

  • Continued to populate the database with screening questions, options, and results.
  • Implemented screening questions for pet owners to answer a set of questions concerning their pet's symptoms and produce a result containing an urgency level, what the problem could be, first-aid advice, and recommendations for the pet owner on what to do next.
    • Included a simple UI to show its functionality.
  • Implemented a forgot-password feature on the backend, which includes token generation and email confirmation mechanisms for a secure password-reset process.
  • Researched OAuth 2.0, Spring Security for SpringBoot, and JSON Web Tokens (JWT) to enhance the application's security with authentication and authorization protocols.
  • Implemented sequential unicasting of appointments, similar to Uber's design: When pet owners fully create an appointment, it is first sent to the closest veterinarian, allowing him some time interval to accept the appointment before it is sent to the next closest veterinarian, and so forth until a veterinarian accepts or no veterinarian accepts.
  • Fixed and improved several UI features on the Login, SignUp, Emergency, UserInfo, and Settings pages.
  • Fixed creating and editing a pet's information to match the new database structure.
  • Completed and presented our second demonstration of the application.

Stage III Report: March 28 - May 7

  • Fixed the ability for users to save their pet's images; images are stored in a local directory, but in production, they would be stored in a server's directory.
  • Implemented location services using Google's APIs: Pet owners may set their preferred appointment location, veterinarians may set their current location from which they will travel, and pet owners or veterinarians may preset their preferred home address or office address, respectively.
  • Reorganized the way in which veterinarians register: All users automatically register as "pet owners," but users who wish to register as veterinarians must do so through the Settings screen, where they must include their veterinary license, veterinary insurance, state permit, etc.
  • Improved and fixed the frontend's navigation structure and bottom tab navigation bar.
  • Developed a feature that calculates the haversine distance to find nearby vets for an accurate distance calculation from pet owners to nearby vets.
  • Implemented a way for pet owners to send payments to vets using Stripe API.
  • Added review screen where pet owners can rate and review vets after an appointment is completed.
  • Added screen so potential vets can apply to become registered vets with the app.
  • Made the app's ease of use better and easier to navigate.
  • Added OAuth to the app to improve security.
  • Added a calendar feature that displays appointments on a calendar.
  • Cleaned up the settings page.
  • Setup server and CI/CD pipelines.
  • Completed and presented our final demonstration of the application.