Multiplatform Websites | Pawfect Care Website
All Classes Functions Variables
Multiplatform Websites | Pawfect Care Website Documentation

Project Version: 1.0.0

Release Date: 17/05/2024

Project Overview: Pawfect Care is a website created as a part of the Multiplatform Websites assessment for the HND Software Development (Year 2) course.

Pawfect Care is a veterinary practice dedicated to providing compassionate and comprehensive care for pets of all shapes and sizes. It is of course a fictional practice created by me. I have designed and created this website from scratch. Some parts of the website aren't fully finished yet and may not function properly.

Release Notes

Release Notes


May 2024

Version 1.0.0 is the first stable version of the Pawfect Care Website, here are some things that it can do as for now:

Managing Pets Information.

Version 1.0.0 gives you the ability to add new pets, update existing pets, and remove existing pets from the website. You can easily add pets as admin using the add button.
You add an image for the pet, as well as enter their name, species and price for adoption. The age field is missing but I plan to fix that in future updates. You can also
update pet information directly on their profile page, you can change their profile picture as well as their name, species and adoption price. The option to remove the pet
is also available on their profile page. Note that only admins are able to perform these actions.


Appointment Booking

Version 1.0.0 also allows users to schedule an appointment for their beloved pets. Users will be able to book an appointment for any data throughout the week, apart from the weekends
and the days before today's date. Available slots will be shown to inform users how many slots are left, by default there are 18 slots available for single day. Users will be also able
to pick a timeslot that suits them. Users are only able to book appointments for days and timeslots coloured green, the slots coloured red cannot be booked. User will be notified after
successful booking. As for now the booking information isn't kept anywhere, apart from the database, but I plan to add some things to user profile like booked appointments in future updates.


Pet Adoption

Version 1.0.0 also allows users to adopt any pet available on the website. Users can adopt any pet they would like for the specified price. Once the user clicks the adopt button
the adopted pet will show up in the user's basket. They will be able to increment and decrement the quantity of the same pet in the basket, but I plan to remove this feature for
pets and add a accessory shop in future update. User will be able to finalize their order by completing the order, once they do so, their order will show up on their profile page.


Login System

Version 1.0.0 has a simple login system that allows users to sign up and log in to the website. The login system only allows for one role as for now, but I plan to improve that
system in the future by adding some security measures that will determine whether you're admin or regural user.


Contact Support

Version 1.0.0 has a simple contact us page, which allows users to write messages, entering their details, and message describing the issue they're facing in detail. As for now
the contact us page does nothing, nothing is stored or sent anywhere. I plan to get an email system as well as store user enqueries in database in future updates.

1. Installation Guide
Go Back
  1. Download the latest version of the website from the GitHub Releases page.
  2. Extract the 'Pawfectcare-Website' folder from the downloaded .zip file into the 'xampp/htdocs' folder on your local machine.
  3. Open XAMPP control panel and start both Apache and MySQL services.
  4. Open a web browser and navigate to the localhost URL (or the URL you configured for XAMPP)
  5. From the list of websites, locate and click on 'Pawfectcare-Website' to access the website.
  6. That's it! You can now use the website.
2. Documentation Overview
Go Back

This section focuses on briefly explaining and showcasing some testing that I did for my website.

Note:
After working so hard for so long on Graded Unit it feels like like my brain's fried with thoughts on I should fix this right now, I missed out this and this, so apologies if something's slightly off or missing.
  1. Functionality Testing:
    Functionality testing verifies that each web page operates as intended, ensuring proper functionality. Identifying and addressing any functionality issues during testing allows for their resolution before deployment.
    File download: Functionality testing.xlsx Screenshot of functionality testing excel file

  2. Scenario Testing
    Scenario testing involves simulating real-world usage scenarios to assess how well a system performs under various conditions and user interactions.
    File download: Scenario Testing Forms.docx
    Screenshot of journal excel file

  3. Usability Testing
    Usability testing evaluates the ease of use and intuitiveness of the website's interface, ensuring a smooth and user-friendly experience.
    File download: Usability Test Forms.docx Screenshot of usability testing excel file
3. Codebase Overview
Go Back
  1. Directory Structure:
    The project has a simple structure with three main directories:
    • Classes: Contains all PHP class files responsible for backend logic and data handling.

    • Components: Houses frontend components written in HTML, CSS, JavaScript and some PHP, organized based on their functionality or feature.

    • CSS: Contains .css file

    • Icons: Stores all png/svg icons.

    • Images: Stores all image files.

    • Includes: Contains file with database details

    • JS: Contains javascript file


  2. Key Components:
    The classes directory includes essential backend classes such as User, Basket, Pet, Order, Article responsible for handling user data, basket products, order information and updating or deleting pets.
    Within the components directory,frontend components like Header, Footer, and PetCard are organized to facilitate the development of the user interface.
    The documents directory contains testing documentation, including functionality testing, usability testing and more.

  3. Coding Standards:
    The project follows industry-standard coding conventions for both backend PHP code and frontend JavaScript/TypeScript code. Code is well-documented with inline comments to explain complex logic and function purposes.
    Note:
    Please note that while efforts are underway to ensure that all code adheres to coding standards and is well-formatted, there may be instances where certain sections do not currently meet these criteria. Rest assured, I am actively working to address these issues and maintain consistency throughout the codebase.

  4. Version Control:
    The project utilizes Git for version control, hosted on GitHub.
    I plan to create separate branches for specific features in future updates.
4. Known Bugs
Go Back
  1. Some validation might not work properly, might be slightly off
Note:
Please note that there might be more bugs than this page lists. If you find a bug by any chance please report it to me and I'll have a look into it.
I am going to look for bugs from time to time, expect this list to update.
5. How to Contribute
Go Back
If you've got some spare time and feel like helping out, your contribution would be greatly appreciated!
Of course, there's absolutely no pressure, but if you decide to lend a hand, know that it's valued and makes a real difference.
Thanks for considering it!

Ways to Contribute:
  1. Bug Reporting and Issue Tracking:
    Report and track any bugs or issues you find on the website to help ensure a seamless user experience and maintain high standards of functionality.

  2. Translations:
    I welcome contributions for translations of both documentation and interfaces to make the project more accessible to users worldwide.

  3. Design and User Experience Enhancements:
    Your input on design mockups, user experience enhancements, and accessibility improvements would be invaluable as I plan to refine and enhance the design of this website in the future.

  4. Documentation Improvements:
    Identify and implement enhancements to documentation to make it more comprehensive and user-friendly.

  5. Testing and Feedback:
    Contribute to project quality by testing features, offering feedback, and reporting issues encountered.

  6. Ideas & Suggestions
    Feel free to share your ideas and suggestions for improving the functionality, usability, and overall user experience of the website.
6. Contact Information
Go Back
For any inquiries, feedback, or collaboration opportunities, don't hesitate to reach out. You can contact me via email at webprojectsdominik@gmail.com or through my social media channels.
We welcome your questions, suggestions, and contributions as we strive to enhance our project together.

Contact Details: