- Summary
- UX
- Strategy
- Scope
- Structure
- Skeleton
- Surface
- Features
- Existing features
- Featured left to implement
- Bugs
- Technologies used
- Testing
- Deployment
- Credits
- Content
- Media
- Acknowledgements
This is a travel blog website which provides a short overview of the site owner's top 10 destinations in Europe.
The site includes a Google Map with markers showing recommended places to visit, eat and stay.
There is also a feedback section where site users can make recommendations for destinations for the site owner to visit next. They can also recommend places to visit, stay and eat in the destinations already on the site. In addition, the form the site user submits will ask for permission for the site owner to contact them for further information and whether they can be credited in the recommendation when it is published on the website.
The users are people who love to travel, want to learn about popular destinations, want to plan their next trip or simply want to read about the site owner's travels
- As a new site user, I want to be able to understand the intent of the page
- As a new site user, I want to understand easily how to navigate the page and access the facilities provided
- As a returning site user, I want to be able to easily reach a section of the site previously viewed without many steps to get there
- As a site user, I want to view the top 10 travel destinations in Europe
- As a site user, I want to have links to the recommended restaurants, places to stay and activities where appropriate
- As a site user, I want to be able to provide feedback on the site
- As a site user, I want to be able to provide my own recommendations
- As a site owner, I want to be able to receive value feedback on the site, including recommendations from the site users
Functional requirements:
- Google Maps API
- EmailJS API
- Navigation bar which is simple and easy to navigate
- Feedback form which uses validation to ensure value content is submitted
Content requirements:
- Images of destinations
- Description of each destination
- Google Map for each destination
- Customer markers within the maps of recommended places to stay, eat and things to do
- clickable markers to provide a short piece of information about the recommendation and links to external sources where appropriate
Interaction design:
- User friendly interface
- Responsive and visible links which change on hover
- Ability to exit pop ups
Information Architecture:
- Navigation bar at the top of the page - sticky to the top so always visible
- Responsive navigation bar - adjusting for mobile
- Images of the appropriate viewing size, minimising for mobile
- All features appropriate size for mobile and desktop viewing
- All information is appropriate and relative to the subject and not misleading or hard to find
Please click the below link to view the wireframe mock up of the website in mobile, tablet and desktop sizing
The intention of the surface design of the website is intended to be 'whimsical'.
- The font family chosen from Google Fonts is 'pompiere'
- The colour selections are light and airy with the following colours selected for the colour scheme:
- dark-lava: #4a4238ff;
- shiny-shamrock: #66a182ff;
- middle-red: #e2856eff;
- lavender-web: #e5eafaff;
- cg-blue: #007ea7ff;
- The colour scheme was selected using the colour scheme creator: Coolors.co
Feature | Details |
---|---|
Map | The site includes a map which is customised for each location using arrays of latitudes and longitudes for each destination |
Map Markers | For each destination, the map will also provide customised recommendation markers using an array of latitudes and longitudes along with personalised marker icons and content boxes |
Destination buttons | Each button will trigger any current content on the page to be hidden and the content for the selected destination to become visible. In addition to the maps and markers detailed above, this will show an image of the destination along with text detail describing each destination |
Contact form | The contact form enables the site user to submit feedback and recommendations whilst also providing consent to be contacted again and/or to be quoted on the site. The form also includes validation to ensure content is provided within the required fields of the form to ensure value content is sent |
Home button | the home button resets the page back to its original state with the main page image and no destination information showing |
Feedback button | The feedback button on the top right hand side of the page takes the user down to the bottom of the page where the feedback form is located |
All of the features in the initial scope of the site have been implemented. However, some improvement ideas have been identified
Feature | Details |
---|---|
Map Markers | The marker icons selected work well for the page but there are some additional icons which could have been used instead. For example, a church icon where a church has been recommended |
Destination buttons | The destination buttons could be included within a sub section of the nav bar to be more visually appealing |
Contact form | The validation on the contact form currently ensures that each of the required fields have a minimum of three characters. I would like to refine this further with specific validation for each box |
Images | Link to smaller images or store these locally to improve the loading time of the page |
Bug | fix |
---|---|
The submit button in the feedback form would not trigger an email | Added onsubmit="event.preventDefault(); to the form HTML to prevent the form from completing the 'submit' function which effectively refreshed the web Pages. This enabled the email event to be triggered |
When a new destination was selected, this appeared underneath the existing destination content | A class was added to each div, image and the map to ensure their initial state was hidden. The addClass and removeClass functions were then used to add/remove these classes as appropriate to ensure the correct content was showing for the button the user selected |
- Bootstrap - https://getbootstrap.com/
- JavaScript
- Emailjs
- Google Maps
- Google fonts - https://fonts.google.com/
- www.validator.w3.org
- http://www.css-validator.org/
- Git
- Gitpod
- GitHub
- Google Chrome
- http://www.responsinator.com/
- Chrome Dev Tools
- https://coolors.co/
New site user testing:
- As a new site user, I want to be able to understand the intent of the page
- Upon entering the site, users are automatically greeted with the page title and sub heading
- There is a clear call to action to select one of the destination buttons
- As a new site user, I want to understand easily how to navigate the page and access the facilities provided
- The sub heading of the page clearly shows how to use the page in a short and meaningful sentence
- The destination buttons are responsive when hovered over
Returning site user testing:
- As a returning site user, I want to be able to easily reach a section of the site previously viewed without many steps to get there
- The destination buttons are prominent on the page for the returning user to quickly return to where they were previously
- As a site user, I want to view the top 10 travel destinations in Europe
- The top 10 travel destinations are detailed in the buttons which are prominent on the page
- This user experience can be improved by highlighting that these are the top 10 destinations
- As a site user, I want to have links to the recommended restaurants, places to stay and activities where appropriate
- When the destination is selected, a custom map opens up with markers. Within these markers, there is a description of the recommendation. Where it is a food or accommodation recommendation, links are provided to external sources
- Signage on the page can be improved to direct the site user to click on the markers to obtain the content
- As a site user, I want to be able to provide feedback on the site
- There is a form at the bottom of the page which is fixed so it is always visible
- There is a link on the header which, when clicked, navigates to the form for the user to complete
- As a site user, I want to be able to provide my own recommendations
- There is a form at the bottom of the page which is fixed so it is always visible
- There is a link on the header which, when clicked, navigates to the form for the user to complete
Site owner testing:
As a site owner, I want to ensure the site is visually appealing
- As a site owner, I want to be able to receive value feedback on the site, including recommendations from the site users
- There is a form at the bottom of the page which is fixed so it is always visible
- There is a link on the header which, when clicked, navigates to the form for the user to complete
Performance testing:
- Tested website responsiveness using http://www.responsinator.com/
- Results: The website is responsive to all device sizes
- Tested the image size to ensure no image is to large and impacting the website loading times. I used the Google Dev Tools - Network
- Results: The site loading time is sub optimal. The total website loading time is 1.54s which can be improved
- This has been added to the improvement table within the features section
- Tested the HTML using https://www.freeformatter.com/html-validator.html I would normally use https://validator.w3.org/ but there is currently an error with the server and results are not available
- Results - index.html: Three errors were recorded
- Malformed byte sequence: “e9”. At line 109, column 59
- Malformed byte sequence: “f6”. At line 223, column 98
- Malformed byte sequence: “e8”. At line 449, column 66
- The errors are created by Accent Marks on characters within the text content
- Results - index.html: Three errors were recorded
- Tested the CSS using http://www.css-validator.org/
- Results - style.css: The validator does not recognise #4a4238ff or #66a182ff as valid color 3 or 6 hexadecimals numbers
- The colours currently work correctly within the browsers however, this is something which will need further investigation
- Tested the website on the Google Chrome browser Version 87.0.4280.88 (Official Build) (64-bit)
- Results: The website was responsive and the elements performed in the way they were intended to
- Tested the website on the Microsoft Edge browser Version Version 87.0.664.66 (Official build) (64-bit)
- Results: The website was responsive and the elements performed in the way they were intended to
- Tested the website on the Firefox browser Version 82.0.3 (64-bit)
- Results: The website was responsive and the elements performed in the way they were intended to
- Tested the form validation worked correctly on each of the above browsers
- Results: The form correctly sent when the fields were completed as they should have been and did not when the fields had not been completed
- Tested the email was sent correctly using the console log
- Results: The console log confirmed the function had run correctly with: SUCCESS r {status: 200, text: "OK"}. In addition to this, an email was successfully received with the content added to the form
GitHub Pages
- Create a new repository or access an existing repository
- Click the green Gitpod button to launch the project in Gitpod
- Create an index.html file
- Add the file to the staging area using the git add Functional
- Commit the file using the git commit function, adding an appropriate commentary
- Push the file to GitHub using the git commit and git push functions
- Refresh your GitHub repository and click the 'Settings' tab
- Scroll to the GitHub Pages section and select a publishing source
- Click 'Save'
- Click the URL created within the Settings - GitHub Pages section
To clone the repository for local deployment:
- On the main page of the repository, click the down arrow Code button
- Click the download icon under the relevant section to clone with either HTTPS, SSH or GitHub CLI
- In Git Bash, change the current directory to the location you want the directory to be stored
- Type git clone and then paste the URL you copied in step 2
- An example for HTTPS:
git clone https://github.com/hollyford/where-to-next.git
- An example for HTTPS:
- Press enter - that's it, your clone has been completed!
To fork the repository:
- Navigate to the main page of the repository you wish to fork
- Click the Fork button on the top right hand side of the page
No. | URL | Description |
---|---|---|
1 | europeanbestdestinations | The text content of the divs which appear when a destination button is selected was copies from this website. The content was copies for the following destinations: Colmar, Athens, Tbilisi, Vienna, Cascais, Sibu, Namur, Rijeka, Paris, Bydgoszcz. These were the top 10 European destinations at the time of the page being created |
2 | Used to collate the latitude and longitudes for each destination and the customer markers for each map iteration | |
3 | appspot | Used to source custom icons for the markers added on each map iteration |
4 | Booking.com | Used for the marker and the text content for a place to stay in Colmar. |
5 | The Crazy Tourist | Used to add content for the marker for Maison Pfister in Colmar |
6 | lasoicolmar & Google.co.uk | Used to add the text content for the marker for a place to eat in Colmar |
7 | https://www.timeout.com/athens/restaurants/best-restaurants-in-athens & https://klimataria.gr/ | Used for the text content of the marker for a place to eat in Athens |
8 | Booking.com | Used for the marker and the text content for a place to stay in Athens |
9 | https://www.planetware.com/tourist-attractions-/athens-gr-ath-ath.htm | Used for the marker and the text content for the Acropolis in Athens |
10 | https://www.foodieflashpacker.com/restaurants-in-tbilisi/ & https://www.facebook.com/sulicowinebar/ | Used for the content of the marker for a place to eat in Tbilisi |
11 | Booking.com | Used for the place to stay marker for Tbilisi |
12 | https://www.saltinourhair.com/georgia/tbilisi-georgia/ | Used for the marker content for the Sulphur Baths in Tbilisi |
13 | https://www.timeout.com/vienna/restaurants/best-restaurants-in-vienna | Used for the marker for a place to eat in Vienna |
14 | Booking.com | Used for the place to stray in Vienna |
15 | https://www.timeout.com/vienna/things-to-do/best-things-to-do-in-vienna | USed for the marker content for Wiener Riesenrad in Vienna |
16 | https://www.timeout.com/lisbon/restaurants/lambrettazzurra-pizzeria & https://www.facebook.com/LambrettazzurraPizzeria | Used for the marker for a place to eat in Cascais |
17 | Booking.com | Used for the marker for a place to stay in Cascais |
18 | https://www.thecrazytourist.com/15-best-things-cascais-portugal/ | Used for the marker for Boca do Inferno in Cascais |
19 | https://travelaway.me/sibiu-best-restaurants/ & http://www.jules-restaurant.ro/ | Used for the marker for a place to eat in Sibiu |
20 | Booking.com | Used for the marker for a place to stay in Sibiu |
21 | https://www.thecrazytourist.com/15-best-things-to-do-in-sibiu-romania/ | USed for the marker for the Bridge of Lies in Sibiu |
22 | https://www.lonelyplanet.com/belgium/wallonia/namur/restaurants | Used for the marker for a place to eat in Namur |
23 | Booking.com | Used for the marker for a place to stay in Namur |
24 | https://www.planetware.com/tourist-attractions-/namur-namen-b-nm-nn.htm | Used for the marker for the Church of Notre Dame and Treasury in Namur |
25 | https://theculturetrip.com/europe/croatia/articles/the-10-best-restaurants-in-rijeka/ & http://restoran-lovorka.incroatia.info/en/kontakt.html | Used for the marker for a place to eat in Rijeka |
26 | Booking.com | Used for the marker for a place to stay in Rijeka |
27 | https://www.planetware.com/tourist-attractions-/rijeka-hr-kv-r.htm | Used for the marker for the Capuchin Church of Our Lady of Lourdes in Rijeka |
28 | https://www.timeout.com/paris/en/restaurants/the-100-best-restaurants-in-paris | Used for the marker for a place to eat in Paris |
29 | Booking.com | Used for the marker for a place to stay in Paris |
30 | https://www.fodors.com/world/europe/france/paris/experiences/news/photos/20-ultimate-things-to-do-in-paris | Used for the marker for the Eiffel Tower in Paris |
31 | https://theculturetrip.com/europe/poland/articles/the-best-restaurants-in-bydgoszcz-poland/ | Used for the marker for a place to eat in Bydgoszcz |
32 | Booking.com | Used for the marker for a place to stay in Bydgoszcz |
33 | https://www.thecrazytourist.com/15-best-things-to-do-in-bydgoszcz-poland/ | Used for the marker for the Museum of Soap and Dirt in Bydgoszcz |
-
I received inspiration for the colour scheme using the colour scheme creator: Coolors.co
-
My mentor Antonio Rodriguez who has provided me with guidance and support through the project