Skip to content

Cape Wine is a Google Maps API project used for the Interactive Frontend Milestone Project

Notifications You must be signed in to change notification settings

lucyrush/capewine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

84 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cape wine logo

Cape Wine

  • Visit the site here

Cape Wine is a travel site which encourages both local and international Cape Winelands visitors to discover new places. This site makes use of the Google Maps API to allow wine lovers to filter by drinking or wine tasting, wine farm restaurants and places to stay for a few nights in the Cape Winelands. The Cape Winelands is one of the most beautiful areas in South Africa, with the rugged mountains, and practically untouched countryside. The aim of this site is to show users the options available to locals and tourists when visiting the Cape Winelands

User Experience

User stories

  • As a user, I want to be able to learn more about the Cape Winelands
  • As a user, I want to be able to discover where would be a nice place to drink wine, eat food and stay.
  • As a user, I want to be able to contact the site owner if I need more information.
  • As a user, I want to be able to easily see a list of options in a table and find out more information on these places located in the Cape Winelands
  • As a user, I expect to be able to access the website from any device.
  • As a user I expect any information on the website to be displayed in a clear & concise way
  • As a user, I expect to find information on the website quickly and effectively.
  • As a user, I expect to be able to find out more information about the company.
  • As a user, I expect to be able to read reviews from customers.
  • As a user, I expect to be able to get in contact with the site owner for any reason
  • As a user, I expect to be able to gain additional information on this site owner

Strategy

My goal of this site is to create a simple, visually appealing website to help travel lovers discover the hidden gems of South Africa by utilising the Google Maps API and Google Maps Documentation.

Scope

To provide potential customers with information on hotels, restaurants and bars to visit in South Africa, more specially focused on the Cape Winelands

Structure

Cape wine mockup

The main structure of this website involves three main sections, the ‘Landing page’, the ‘About Us’ section and the ‘Discovery’ section.

The navbar appears and is fixed when the user opens the landing page. The landing image is a beautiful picture, creating a smooth experience for each user. Users can click on the downward arrows, prompting the user to go to the next section, The scroll is smooth using the scroll-behavior: smooth command CSS. On smaller screens, the navbar collapses using Bootstrap. When that icon is clicked, a dropdown menu with text is opened, allowing the user to easily navigate through the site.

The images contain the Bootstrap img-thumbnail class to ensure both responsiveness.

To ensure easy usability, I created buttons for the user to press to filter which activity they would like to know more about.

When a user searches for an activity and city, then a table appears with a list of all activities in the area selected.

The map automatically zooms into the selected city. If a city is not selected and a filter is, then it will drop pins by default to the centre of the country.

Skeleton

This website is structured over one page, using Google Maps API.

The page is split into three core sections.

These are the wireframes, which include both the desktop and mobile view for each section.

  1. Landing Page
  2. About Us
  3. Discovery
  4. Contact Us

Surface

The colour scheme for this project is minimalistic. I was hoping to create a good link between the landing page and the color scheme throughout the page to keep the page attractive.

The colours used were:

color scheme

I used a really handy tool created by Canva to generate the color scheme.

The site makes use of two key fonts :

  • Montserrat
  • Monospace

Features

Existing Features

Landing Page

This is the first section a user sees upon coming onto the pages. Users are presented with a landing image the size of the screen and downward arrows, when clicking will bring them to the ‘About Us’ section.

About Us

  • This section gives a breakdown of the site owners experience with the Cape Winelands and why the page came to exist.
  • It shares their story and passion for the Cape Wineland, as well as a small amount of information about the Winelands.
  • The section is split into two cards, with a background image each and overlay text. Each card has a title

Discovery

  • This section has three core components.
    • Search field with a user input field that has an autocomplete generated by Google, allowing users to filter their city search. Limited within South Africa.
    • Filters. Three buttons filtering by places to drink, eat and sleep. The buttons change color when clicked to help the user navigate the filtering section
    • Results table which displays a list generated by Google to help name the recommendations to the user
    • Google Maps image with markers on the filters activity.
  • When the user clicks on the markers, more information about the place will appear.

Contact Us

  • This section is split into two components.
    • A summary of the site owners contact information, including their email address, telephone number and physical address.
    • A contact form which the user can fill out to leave the site owner a message.

Footer

  • A simple footer where the user can connect to the site owner via social media. The user can follow the links to the Facebook, Twitter and Instagram accounts to keep updated on more current news and blogpost done by the site owner.

Features Left to Implement

  • To sort the recommendations by star rating on the results table, sorting from highest to lowest ratings.
  • Upload section where users can upload their own images of their discoveries around the Cape Winelands.
  • A more interactive contact section by implementing sending emails with JavaScript.
  • More interactivity on the map - allow user to customize their results with a wishlist and more specific filters.

Technologies Used

Also made use of:

Testing

Manual tests were conducted throughout the creation of this site.

Validators

  • HTML
    • W3C HTML Validator:
      • Document checking on HTML. Four total errors showing
        • Stray DOCTYPE which was interesting that it was overlooked throughout the development process.
        • 3 errors stating that “Attribute btn-block not allowed on element button at this point.” Corrected and committed in two separate commits.
        • A second test was conducted in the same HTML validator to confirm no errors.
  • CSS
    • W3C CSS Validator:
      • The W3C Validator displayed no errors or warnings to show.
  • JavaScript
    • JShint
      • There are 16 functions in this file.
      • Function with the largest signature takes 2 arguments, while the median is 0.
      • Largest function has 25 statements in it, while the median is 2.5.
      • The most complex function has a cyclomatic complexity value of 7 while the median is 1.
      • One undefined variable
        • Google
      • One unused variable
        • initMap
  • During the development process I consistently checked Chrome DevTools to test during section construction.

During the process I encountered an ApiTargetBlockedMapError in the console. This was rectified by adding ‘places&libraries’ to the end of the API KEY to include the Places API.

  • Testing for Responsiveness

    • Testing during section construction was done primarily with Chrome DevTools, making sure each element works correctly and optimally, including responsiveness across devices.
    • I planned to make the site responsive across all devices in Chrome Dev Tools. I am aware of a few issues with smaller screens.
    • For navbar, I tested the functionality of all links, including the site brand which takes the user back to the Landing Page.
    • I spent time testing the nav bar as initially the Bootstrap collapsible navbar worked but the toggler icon did not show on smaller devices. I overcame this by changing it to a dark navbar and removed the customisation. No other changes to the nav bar were needed.
  • User Testing

    • After sending the site to my peers, the main comment that the site is beautiful. It was intended for the site to look nice.
    • The users who helped test the site did not know too much about the Cape Winelands so I had to suggest a city to search for. I suggested the user search for Cape Town, Stellenbosch and Hermanus.
    • User test comments include:
      • “The site works well on my mobile phone, there are some small concerns around the map section working on my phone”
      • “The site is interesting and it was enjoyable to learn about the Cape Winelands”
      • “The site is easy to navigate, the burger menu on smaller screens make the site easy to navigate”
      • “I would find this site useful when visiting the South African Cape”

Deployment

  • Deployment To GitHub Pages:
    • I logged into GitHub
    • In my account on the GitHub website, I selected Repositories
    • I selected the lucyrush / capewine from the GitHub Dashboard.
    • I navigated to Settings and to the GitHub Pages section.
    • From the Source section, I clicked on the drop-down menu and selected Master Branch.
    • Once Master Branch is selected, the page has been automatically refreshed, with a detailed ribbon display GitHub Source Saved Pages indicating the successful implementation.

The live link can be found here - https://lucyrush.github.io/capewine/

  • To run locally, you can do one of the following two options

Credits

Media

Acknowledgements

  • To create this website, I used many resources, like Stack Overflow, W3schools and help from my peers on Slack.
  • Before starting this project, I did need to spend extra time learning about the more practical aspects of JavaScript with the Watch and Code Tutorials
  • Google Maps API Documentation greatly assisted in the creation of the Javascript for this site.
  • I would like to thank my colleague, Claire, for some guidance and help with getting started. Her help significantly sped the process up.

Cheers!

Cheers

About

Cape Wine is a Google Maps API project used for the Interactive Frontend Milestone Project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published