Git Product home page Git Product logo

mgv-vorau's Introduction

Vorau Choir

Table of Contents


Introduction

This website is the redesign of the existing homepage of The Choir Vorau, originally created in German. The Choir Vorau is a mixed-voice choir located in Vorau, Styria, Austria. The Vorau municipality is embedded in a culturally rich area, which attracts a lot of tourists. Vorau is especially famous for the historical abbey, where the choir organizes several concerts per year. The choir can also be heard during the regular singing rehearsals. Besides, the choir members organize other events, such as trips or singing with another choir.

You can find the website here.

Mockup of the website


UX

The purpose of the newly designed homepage is mainly to enhance the presentation of the choir's activities. This should attract fans, tourists, and potentially new members of the Choir Vorau. In the future, the current members of the choir will also have the opportunity to see a detailed gallery of all past events and concerts.

User Stories

  • First-Time Visitor Goals

    • US1: As a first-time visitor, I want to easily navigate through the content of the webpage.
    • US2: As a first-time visitor, I want to visit the webpage on my mobile phone.
    • US3: As a first-time visitor, I want to see samples of the visual or audio presentation of some past concerts.
  • Returning Visitor Goals

    • US4: As a returning visitor, I want to check the upcoming events.
    • US5: As a returning visitor, I want to read about the choir and its members.
    • US6: As a returning visitor, I want to easily contact the choir.
    • US7: As a returning visitor, I want to follow the choir's activities on social media.
  • Frequent Visitor Goals

    • US8: As a frequent user, I want to check the new upcoming events.
    • US9: As a frequent user, I want to see new photos or media from the choir activities.

Wireframes

The wireframes were created using the program Balsamiq. Two versions of the webpage were considered: mobile (left) and notebook (right).

  • Homepage Wireframe of the homepage

  • About Us Page Wireframe of the about us page

  • Gallery Page Wireframe of the gallery page

Color Pallete

The color pallete was changed during the development of the homepage several times. The initial color schema was chosen manually without checking the accessibility. After testing, it turned out that the colors are very poor in terms of accessibility. Therefore, new schema was selected based on the popular color pallete-generator, see here. The colors also fit to the chosen hero image of the homepage. Color Pallete

The accessibility of the chosen colors was tested by the tool toolness. The usage of the colors follow the advised color combinations, see the full report here. Color Accessiblity

Fonts

The heading font, Raleway, was selected after searching for the best fonts in 2023, see here. The suitable body text font, Roboto, was chosen based on the blog post by Figma. Pairing of the selected fonts


Features

The layout of the webpage takes into account all eight user stories. Firstly, the entire webpage is designed to be responsive to ensure that the webpage is properly displayed on different devices (e.g. a mobile, a desktop). Secondly, the webpage consists of three sites, containing the common components, i.e. navigation menu and footer. This helps the user to easily navigate through the content of the webpage. Lastly, the webpage contains other components or elements which are common practice in web design, i.e. logo, hero picture, copyright notice or external links.

Common Features

  • Navigation Menu

    • All three webpages contain the logo and navigation menu (US1).
    • The navigation menu includes the following items (US1):
      • Home navigates the user to the homepage.
      • About Us navigates the user to the About Us Page.
      • Calendar navigates the user to the Calender Section.
      • Gallery navigates the user to the Gallery Page.
      • Get In Touch navigates the user to the Get in Touch Section.
    • The navigation menu is displayed as a hamburger on the small devices (US2). Menu
  • Footer

    • The footer is a common component of all three webpages as the navigation menu.
    • The footer contains the links to the social media (US7, US9), contact information (US6) and the copyright notice. Footer

Homepage Features

The Homepage consists of 4 sections including the listed features:

  • Hero Section includes the name, slogan and photo of the choir. Additionally, there are two buttons Listen to Us and Join Us ,which direct the user quickly to the Calender Section (US4, US9) and Get In Touch Section(US6) respectively. Hero

  • News Banner serves for important announcements, such as upcomming concerts, new published on-line videos or concert cancellation (US8). News Banner

  • Welcome Section introduces the choir briefly. An embedded YouTube video of the choir singing is included (US3). Welcome Section

  • Calendar Section lists all upcoming concerts and singing rehearsal (US4, US8). Calendar Section

  • Get In Touch Section includes contact form and the rehearsal location (US6). Get In Touch Section

Gallery Page Features

The Gallery Page contains a selection of the photos from the concerts or other events (US3, US9). Gallery Page

About Us Page Features

The About Us Page introduces the choir, including its history. The page also lists the front persons (US5). About Us Page

Hidden Pages

  • 404 Page: The hidden 404 Page indicates the users that there is an error with their request. 404 Page
  • Thank You Page: The hidden Thank You Page informs the users about the successful form submission. Thank You Page

Differences to Design

There are several slight differences between the original and the actual design:

  • Generally, there is more text in the actual design than in the original one.
  • The hamburger menu was not considered in the original design.
  • Four embedded videos were not implemented for large devices due to the difficulties of changing the video sizes, i.e. difficulties with the responsiveness of iframes for embedded videos. This will be implemented with a next iteration.
  • The layout of the footer was slightly modified by including more information (e.g. additional contact details)
  • The layout of the Gallery Page was slightly modified.
  • The content of the About Us Page was differently structured by including the History Section.

Future Enhancements

  • German Language
    • As the webpage presents the choir from Austria, the German language is more relevant for the users than the English.

Testing

Generally, testing was considered during the entire development of the webpage. After implementing a feature or styling the component, the the webpage was tested. In the end, more thorough manual testing was conducted. Finally, the existing validation tools were used.

Manual Testing

  • The website was tested on various devices (mobile: iPhone8, Samsung A52; and laptop: Dell XPS13) and in various web browsers (Chroma, Safary, Firefox, and Edge). In addition, the Google Chrome DevTool was used to fill the gap with testing the website on even more screen sizes.

Following aspects were considered during the test:

Responsiveness
  • Testing procedure:
    • Change the screen size of the web browser and testing the following:
      • The menu bar responds to the different screen sizes.
      • The layout (text, images, a embedded video) responds to the different screen sizes.
      • The information and background in Footer Section responds to the different screen sizes.
    • Test the same procedure on real devices.
  • Expected results:
    • The menu bar reacts properly, changing from the menu bar to the hamburger menu.
    • The text is visible and readable.
    • The images and video are properly displayed.
  • Actual results:
    • The webpage reacts as expected.
Margin & Padding
  • Testing procedure:
    • Click on all pages and checking the consistency of margin and padding across all pages.
    • The same procedure as for the responsiveness.
  • Expected results:
    • Margin and padding are consistent across all pages.
  • Actual results:
    • The behavior as expected.
Responds on User Activity
  • Testing procedure
    • Hover over the links and buttons.
    • Click on all menu items and test the visibility of the active pages.
    • Click on links and test if external links open in new tabs.
  • Expected results:
    • The hover effect is visible for the user.
    • The menu works properly and the active page is highlighted.
    • Links work properly and a new tab is opened for an external link.
  • Actual results:
    • The behavior as expected.
Form Submission
  • Testing procedure:
    • Send the form with one of the unfilled form inputs.
    • Send the form with incorrect email address.
    • Send the filled in form.
    • Clear the form.
  • Expected results:
    • The form is not sent in case of incorrect inputs or empty inputs. The user is always warned.
    • The user is informed after sending the form successfully, by displaying the Thank You Page.
    • All inputs are empty after clearing the form.
  • Actual results:
    • The behavior is as expected.

Validator Testing

  • CSS

  • HTML

    • The initial validation detected several issues which were fixed, see below.

      Issue Solution
      button tags cannot be a descendant of a tags and vice verse button tag was removed
      duplicated class attributes a class was removed
      div element is not allowed to be a child element of label div was removed and the menu bar was styled differently for mobile devices
      The type attribute is unnecessary for JavaScript resources the usage of the type attribute was checked here and removed
    • The final report did not show any errors or warningsHTML Validation

    • The final detailed reports of all three pages:

  • Lighthouse

    • The lighthouse report was generated using the Google Chrome DevTools in an incognito mode. The tests were run for both desktop and mobile devices.
    • The initial report indicated the low performance due to the size images. After decreasing the size of the images and converting to the webp format and compressing the images, the performance got remarkable better.
    • Mobile devices
      • Homepage  homepage - lighthouse for mobile
      • About Us Page  about us page - lighthouse for mobile
      • Gallery Page  gallery page - lighthouse for mobile
      • Thank You Page  thanky you  page - lighthouse for mobile
    • Desktop devices
      • Homepage homepage - lighthouse for desktop
      • About Us Page  about us page - lighthouse for desktop
      • Gallery Page  gallery page - lighthouse for desktop
      • Thank You Page  thanky you  page - lighthouse for desktop

Bugs and Issues

In general, the adaptation of margin and padding was often slightly changed to receive better appearance, which is, of course, very subjective to the developer. Such types of changes and the correction of typos were not considered as a bug.

The list of additional bugs/issues, which were fixed, is listed in the table below.

Bug and Issue Solution
Color accessibility New color pallete was chosen, see coolors.
The form buttons have different appearence on mobile devices than on notebooks The problem was searched on Google and a post solving the issue was found on stack overflow. The property, -webkit-appearance: none;, was added to the CSS class.
A low performance scores in Lighthouse testing The size of images were decreased and all images were converted to the webp format.

Deployment

The site was deployed to GitHub Pages. The steps to deploy the webpage were following:

  • In the GitHub repository, go to the Settings Section.
  • Find the Page Category on the left hand side.
  • Under the Branch Section, select the source branch from the drop-down menu (e.g. master branch).
  • Click on Save Button.
  • Once the master branch has been selected, the page url will be generated - this indicates the successful deployment.

The website can be viewed here.

It should be noted that during the development, the commit type was included in commit messages, following the blog post with a slight difference. The style type commit, i.e. commit -m "style:", was used for the css styling of the webpage. The changes in the code style, such as removing the comments, was considered as the refact type commit, i.e. commit -m "refact:".

Clone the Repository

The repository can also be cloned locally, the steps are following:

  1. On Git
    • Go to the repository you want to clone, e.g. https://github.com/brodsa/mgv-vorau
    • You see the content of the repository, i.e. all the files are listed. On the right side at the top of the list, find the Code drop down button and click on it.
    • Copy the repository HTTPS link to the clipboard.
  2. In the terminal (Note: git must be preinstalled)
    • Open the terminal and navigate, where you want to clone the repository.
    • Type git clone and insert the content from the clipboard, leading to the command git clone https://github.com/brodsa/mgv-vorau.git.
    • Once the project is cloned, you can start using the repository locally.

Languages

  • HTML
  • CSS
  • Markdown
  • JavaScript

References

Credits & Inspirations

Technologies & Tools

  • Google Fonts was used to import the fonts into the style.css file.
  • Font Awesome were used generate icons for the social media and the contact details.
  • Color Pallete was used to select accessible colors.
  • Clip Path Generator was used to generate the background of the Hero and Footer Section.
  • Image Compressor was used to compress the images.
  • Image Converter was used to convert all images in the webp format.
  • Logo Creator was used to create the logo.
  • Favicon was used to generate the code and files for the webpage favicon. Balsamiq was used to create the wireframes during the design process
  • YouTube was used to generate the HTML code for the embedded video.
  • Google Maps was used to generate the HTML code for the embedded map.
  • GitHub was used to store the code and host the website.
  • Gitpod is an IDE and was used to develop the website.
  • Formsubmit was used for the form submission. -Mockup Generator was used to generate the mockup for README.

Acknowledgements

I would like to thank my mentor Gareth McGirr for his guidance throughout my project. I'd like to give a mention to the student Carl Murray for his time to provide me a valuable feedback. And my special thanks goes to my husband for beeing supportive during the development of the webpage.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.