Skip to content

Shane-Donlon/ci-pp4-django

Repository files navigation

link to site: Link to live site.

Website showcase

Important notice: If you are NOT logged into this site: please look at this from the perspective of a customer If you are loggged in as a SUPERUSER please look at this from the perspective of an admin / business owner If you are logged in (and NOT as a SUPERUSER ) please look at this from the perspective of a staff memeber

also to note the "Beekeeper" (Login / Sign-up) menu ONLY exists for the purposes of testing. In a real-life scenario this would be "hidden" and up to the business owner to circulate!

Also please note company approval for use of assets was granted

About:

This site is a ticket management system for a company called Swarms.ie Swarms is a honeybee removal charity business, that connects people with beekeepers to remove colonies and swarms from their property. current issues slides goals slides

The "problem" / issue to fix

The purpose of this site is to make the process of connecting people to beekeepers more efficient for the Swarms.ie owner as currently this is a manual effort task through spreadsheets and phone calls / text messages.

This site allows visitors to log a Service Request (SR) with Swarms for the removal of the swarm 365 days and without the need for phone calls / emails

UX:

The website was created to be eye-catching and user-friendly. The emphasis is on the user experience; the user can navigate the website easily to log their Service Request.

Accessibility:

The website is designed to be accessible by all, with features like:

  • Skip to Content link

    -When tabbing through the site the user will be preseneted with a skip to content link which bypasses the header section and is linked to

  • Colours chosen

    • #ea9d34 (yellow) colour chosen had contrast issues on a white background, this was updated to #8b4313 (brown) to provide a higher contrast for users.
  • Form

    • the form uses the "hidden" attribute to show and hide content for users while not impacting the accessibility tree or making the form confusing
    • ARIA labelled by: this is also heavily featured in the form to provide context of the questions for those who may need this.

-Role = "Presentation" in the report-a-swarm page for the progress bar. this is to inform the users that the context of this is purely decoration purposes and is not required for them to complete the form

  • Prefers reduced motion: on the report-a-swarm page, there is an animated fieldset border (Black and yellow) and loading divs prefers reduced motion is present for those with motion sickness that it does not cause disorientation side effects this has been tested by me (as I suffer with this, and does not have any unwanted side effects) .

If the user has a preference set for reduced motion, the animations are slowed down, and overall animation is reduced. This is to reduce animations that can make users nauseous (vestibular dysfunction) to test this in Chrome

  • If the user has a preference set for reduced motion, the animations are slowed down, and overall animation is reduced. This is to reduce animations that can make users nauseous (vestibular dysfunction) to test this in Chrome
    1. Go to Inspect
    2. Select the 3 dots beside the X for close
    3. Select “Run command”
    4. Search for “Reduced”
    5. Click the “Do not emulate CSS prefers-reduced-motion”
    6. Refresh the page, and you will notice that the animation does not run.
    7. To undo this open the site in a new tab.

    testing

    Link to testing documentation.

    features

    Link to features documentation.

    bugs

    resolved bugs

    Page Language Description Resolution Cause
    Report-Swarm JavaScript Using regex on phone to confirm if number is correct, if at any point an error appeared I would set the custom error to be more descriptive than pattern does not match, once I corrected the error on change and next would still set the error and could not move onto the next section of the form event.target.setCustomValidity("Please enter phone number in 353121234567 format"); event.target.setCustomValidity(""); As I'm setting the error to true by using a non-empty string I need to set this back to false using an empty string after the error appears

    Technologies used

    • Languages:

      • Python 3.11: the primary language used to develop the server-side of the website.
      • JS: the primary language used to develop interactive components of the website.
      • HTML: the markup language used to create the website.
      • CSS: the styling language used to style the website.
    • Frameworks and libraries:

      • Django: python framework used to create all the logic.
    • Databases:

      • SQLite: was used as a development database.
      • PostgreSQL: the database used to store all the data.
    • Other tools:

      • Git: the version control system used to manage the code.
      • Pip3: the package manager used to install the dependencies.
      • Gunicorn: the webserver used to run the website.
      • Spycopg2: the database driver used to connect to the database.
      • Django-allauth: the authentication library used to create the user accounts.
      • ElephantSQL: the cloud database used to store all the data.
      • GitHub: used to host the website's source code.

    Process flow for tickets

    process flow for tickets part 1 process flow for tickets part 2

    Entity-Relationship Diagram

    entity relational diagram

    lighthouse reports

    Index page

    lighthouse report index

    About page

    lighthouse report about page

    design

    index

    desktop design index page desktop design index page counters

    about us

    desktop design about us section

    sections

    desktop design sections

    wireframes desktop

    desktop design sections

    mobile design sections

    Known issues

    Tables - especially with tables the design of this site was desktop orientated. While the site is fully responsive and tables are responsive using bootstrap CSS the best experience for tables is via a desktop / tablet

    Active link not on pages : I am aware that for active pages there is not identified, this is due to reusing templates

    Credits

    Louis Hoebregts link to blog article

    Kevin Powell link to codepen

    Red Eyed Coder Club link to youtube video

    swarms business!

    Andy Bell (CSS Reset File)

    Agile Methodologies

    project board user stories

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published