Live side Github

Sejr & Davidsen

At skabe trygge hjem for dyr i nød...

Hver adoption bringer dem et skridt tættere på et kærligt hjem.

Billede af det færdige produkt laptop

Introduktion

01

Klienten

Sejr & Davidsens Dyrepension og -internat i Nordjylland tilbyder professionel pasning af hunde og katte. Ejeren Merete Sejr erdyrlæge, og partner Jesper Davidsen som er veterinærsygeplejerske. De fokuserer på dyrevelfærd og tilbyder rådgivning samt træning. Derudover har de en butik med specialprodukter til kæledyr.


Min rolle

Mit team fik til opgave at udvikle en online platform, der skal støtte dyreejere og dyreadoptanter med information og services i forbindelse med pasning og adoption af kæledyr. Platformen skal fungere som et værktøj til at skabe tryghed og forbindelser mellem dyreejere, eksperter samt dyrene. Min rolle i projektet var at anvende forskellige metoder til at designe og kode den bedste brugeroplevelse for platformen, dette skulle gøres ved hjælp af wordpress custom theme og PHP.


Problemet

Sejr & Davidsen har ikke i øjeblikket en hjemmeside, hvilket skaber udfordringer for både dyreejere og dyreadoptanter, der søger information og services. Uden en online platform er det svært for potentielle kunder at finde oplysninger om dyrepensionen, adoptionsmuligheder og træningstjenester. Dette kan resultere i tabte muligheder for adoption af dyr samt manglende synlighed af deres tilbud. En hjemmeside ville fungere som en platform hvor dyreejere kan booke pasning, finde ressourcer og finde informationer om tilgængelige dyr til adoption.

Research

02

Content sitemap

Ud fra et affinity diagram lavede vi et content sitemap, her skrev vi alle vores ideer til de forkellige sider ned. De sider vi besluttede os for at kode er forsiden, dyrearkiv, adopteringsside, pensionside og siden for hver enkelte hund. Nedenunder ses et udkast af vores content sitemap!

Billede af sejr sitemap Billede af sejr sitemap

Personaer

I forbindelse med dette projekt skulle vi ikke gennemføre interviews eller skabe personas, da det allerede var gjort. Dette gjorde det muligt for os at fokusere på at analysere de eksisterende data og anvende dem i vores designproces. At have færdige personas at arbejde med sparede tid og gav os en god forståelse af målgruppens behov.

Billede af Jørgen persona

Alder: 68

Køn: Mand

Job: Pensioneret

Status: Single/skilt

Bopæl: Brønderslev

Jørgen

Mål: Adoptere en yngre hund, der har de rigtige egenskaber,

Motivation: Funktionel motivation, går på jagt, aktivt udendørsmenneske

Jørgen er en pensioneret ingeniør, der bor i en villa i Brønderslev. Han lever et aktivt liv med interesse for litteratur og politik, og rejser ofte. Jørgen har en 10-årig engelsk pointer, Winston, som han tager med på jagt og lange ture. Han ønsker at adoptere en yngre hund med de rette egenskaber, men er realistisk om udfordringerne ved at finde en internathund, der passer til hans behov.

Billede af Mikkel og katrine persona

Alder:23

Køn: Mand+Kvinde

Job: Studie, egendomsmægler

Status: Samlevende

Bopæl: Aalborg

Katrine og Mikkel

Mål: Finde god hundepension, så de trygt kan efterlade Charly i kompetente, kærlige hænder

Motivation: Hunden som en del af familien, hundens egenskaber og ydre

Katrine er normalt den, der organiserer alle deres weekendture med Mikkel, og derfor er hun meget opmærksom på, at praktiske oplysninger som åbningstider og lokationer skal være let tilgængelige. Hun kan blive frustreret, hvis der er for mange unødvendige informationer, der gør det svært for hende at finde det, hun har brug for. Det er vigtigt for hende at kunne planlægge tingene effektivt, så hun kan få mest muligt ud af deres tid sammen, især med deres hund, Charly, som altid er en del af deres eventyr.

Billede af søren og eva persona

Alder: 40'erne

Køn: Kvinde+Mand

Job: Rejsemontør, Sundshedsassistent

Status: Gift

Bopæl: Aalborg

Søren og Eva

Mål: Blive afklarede om, hvilken hund der passer til deres familie og føle tryghed i købs- eller adoptionsprocessen

Motivation: Hunden som mål til at lære børnene ansvar og omsorg, og hunden som selskabs- og vagthund.

Søren skal tage beslutningen om, hvilken hund familien skal have. Med Evas nye arbejdstider og Søren som rejsemontør, ser han hunden som en mulighed for at give Laura og Rasmus selskab. Men han bliver hurtigt overvældet af de mange overvejelser. Hvad nu hvis de ender med en hund, der er mere udfordrende end forventet? Diskussionerne om hundestørrelse og Evas ønske om at adoptere en hund kræver klare og let tilgængelige oplysninger, så de kan føle sig trygge i beslutningsprocessen.

Design

03

Wireframes

Efter skitsering begyndte vi at lave wireframes for at få en overordnet ide om hvordan designet skulle se ud. Efter vi har lavet disse wireframes kan vi beynde på HIFI mockups, og færdiggøre designet.

Forside

Billede af forside wireframe Sejr

Dyrearkiv

Billede af dyrearkiv wireframe Sejr

Enkeltdyr

Billede af enkeldyr wireframe Sejr

Kode realisering

04

Wordpress custom tema

Denne hjemmeside skulle realiseres vha af wordpress custom tema og php. Fordelen ved at lave siden på denne måde er at man kan brugerdefinere et tema 100% efter ens krav til siden. En af fordelene ved at bruge wordpress tema og php er man kan bruge template filer som archive/single sider. Hvilket betyder man ikke skal oprette sider til hver eneste underside man har.

Wordpress custom theme billede

            
  function custom_post_types(){
      //enkelt hund card
      register_post_type('hund', array(
          'show_in_rest' => true,
          'supports' => array('title', 'thumbnail', 'editor', 'custom-fields'),
          'public' => true,
          'has_archive' => true,
          'rewrite' => array('slug' => 'hunde'),
          'labels' => array(
              'name' => 'Hunde',
              'add_new_item' => 'Tilføj Ny Hund',
              'edit_item' => 'Rediger Hund',
              'all_items' => 'Alle Hunde',
              'singular_name' => 'Hund'
          ),
          'menu_icon' => 'dashicons-pets'
      ));
  
  }
  add_action('init', 'custom_post_types');
  add_theme_support('post-thumbnails');
                    
                    
                  
                

Opret custom post types

Vi oprettede de custom post types som vi havde brug for. I vores tilfælde lavede vi kun for hunde og blogs, men hvis vi skulle have udbygget en komplet side ville vi også have oprettet flere. Denne kode viser hvordan man opretter en custom post type, går ind i php, laver en function og bruger register_post_type. Herinde kan man ændre på en helt masse parametre som vil ændre post typen i wordpress backend.


ACF

Nu kunne vi ved hjælp af ACF wordpress plugin oprette Advanced Custom fields, hvor vi kunne opsætte hvilket indhold vi ville vise til hver custom post type. Et eksempel kan ses her, for field type hund. Her oprettede vi alle de labels som den enkelte hund skal have.

ACF Wordpress billede

            
 function sejrdavidsen_files() { 
  wp_enqueue_script('sejrdavidsen_js', get_theme_file_uri('/assets/js/script.js'), NULL, '1.0', true);
  wp_enqueue_script('swiper_js', get_theme_file_uri('/assets/js/swiper.js'));
            
  //function som kalder stylesheet
  wp_enqueue_style('serdavidsen_main_styles', get_theme_file_uri('/assets/css/main_style.css'));
            
  //henter font - Barlow
  wp_enqueue_style('font', '//fonts.googleapis.com/css2?family=Barlow:ital,wght@0,100;0,200');
            
  //loader font awsome iconer
  wp_enqueue_style('font-awesome', '//cdnjs.cloudflare.com/ajax/libs/font-awesome/6.6.0/css/all.min.css');
            
  add_action('wp_enqueue_scripts', 'sejrdavidsen_files');
            
  function custom_editor_dyr_title( $title, $post ) {
    if( 'hund' === $post->post_type ) {
    $title = 'Navn på dyret';}
    return $title;
            }
  add_filter( 'enter_title_here', 'custom_editor_dyr_title', 10, 2 );
            
            
            
                

Functions.php

I dette eksempel definerer vi funktionen sejrdavidsen_files(). wp_enqueue_script() til at tilføje JavaScript filer og wp_enqueue_style() til at inkludere CSS filer og fonts, som feks Barlow/Font Awesome. Disse scripts og stylesheets vises når wp_enqueue_scripts aktiveres. Derudover har vi en funktion custom_editor_dyr_title(), som ændrer titlen for opslag af posttypen “hund” til “Navn på dyret” i editoren.


The Loop

Nu kan vi ved hjælp af “The Loop” i WordPress dynamisk hente og vise indhold for vores brugerdefinerede post type hunde. Her er et eksempel på hvordan vi gør det fungerer. Her tjekker vi med $hunde->have_posts(), om der er hundeindlæg tilgængelige. Så starter vi et loop, der bruger $hunde->the_post() til at opdatere data. Indholdet vises i en div, hvor vi henter billedet med get_the_post_thumbnail_url() og viser hundens navn med the_title(). Udover det vises info om hunden, såsom race, alder og køn, hentes vha ACF. Hvis ingen indlæg findes, vises en meddelelse. Til slut kalder vi wp_reset_postdata()

          
<?php
if ($hunde->have_posts()) {
    while ($hunde->have_posts()) {
        $hunde->the_post(); ?>
        <div class="singularAnimalCardArchive">
            <img src="<?php echo get_the_post_thumbnail_url(null, 'large'); ?>" class="singularAnimalCardArchiveImg" />
            <div class="animalInfoCardArchive">
                <h3><?php the_title(); ?></h3>
                <div class="animalInfoMeta">
                    <div class="iconText">
                        <i class="fa-solid fa-paw"></i>
                        <p><?php echo (get_the_terms($hunde->ID, 'race')[0]->name); ?></p>
                    </div>
                    <div class="iconText">
                        <i class="fas fa-birthday-cake"></i>
                        <p><?php the_field('alder'); ?></p>
                    </div>
                    <div class="iconText">
                        <i class="fa-solid fa-venus-mars"></i>
                        <p><?php the_field('kon'); ?></p>
                    </div>
                </div>
                <a class="animalInfoCardGridButton" href="<?php the_permalink(); ?>">LÆS MERE</a>
            </div>
        </div>
    <?php }
} else {
    echo '<p>No results found.</p>';
}
wp_reset_postdata();
?>

              
            
                
              

Endelige Produkt

05

Arkiv over alle dyr

Brugere kan nemt filtrere mellem hunde og katte for at finde det kæledyr der passer bedst deres behov. Disse dynamiske oplysninger opdateres automatisk gennem wordpress, hvilket gør det nemmere at have med store mængder af data. På denne måde kan man oprette nærmest uendeligt antal dyr.

Billede af det færdige produkt
Billede af det færdige produkt

Swiper med dyr/blogs

Swiper funktionen giver brugerne en hurtig og lækker måde at udforske dyr og blogs på. Med et swipe kan de se billeder og læse indlæg om dyrepleje og træning, dette virker på mobil og desktop!

Enkel dyr side

Den enkle dyreside giver brugere mulighed for at læse detaljer om hvert dyr og lære om alle de detaljer man har brug for når man skal adoptere hund. Derudover er der en kalender, hvor brugerne nemt kan booke et møde med hunden, hvilket gør det nemt at planlægge besøg.

Billede af det færdige produkt

Reflektion

06

Hvad har jeg lært?

Jeg har lært en masse igennem dette projekt, især hvad angår wordpress custom temaer og PHP. Jeg har tidligere arbejdet med wordpress API vha JavaScript, dog må jeg konstatere at det er en del lettere at arbejde med PHP, og man støder generelt på mindre problemer. Jeg kunne helt klart finde på at udvikle med PHP igen.