Code Monkey home page Code Monkey logo

portfolioproject1's Introduction

Soil is Life project website

This project is an intuitive multi-page website informing visitors about a seminar on soil health that is held in Töreboda, Sweden. The main purpose of the site is to allow visitors to fill out a form and register for the upcoming seminar. The secondary purpose of the site is to inform visitors about the seminar organizers and to provide more information on the seminar topic, soil.

The website is fully responsive across multiple devices.

Website view on different devices

Table of Contents

UX

Target audience

The target audience of this website are hobby gardeners, market gardeners, and small-scale farmers who are looking to gain a profound understanding of soil. Visitors who land on this website have been directly searching for local seminars on soil health or for facts about soil and its importance.

First-time visitors

First-time visitors are greeted with a landing page that informs them in detail about the contents of the seminar. The information and the CTA button in the hero section make it unambiguously clear to them that they can register for a seminar on soil health. If they choose to scroll through the page and familiarize themselves with the seminar topics, they are presented with a second CTA button at the bottom of the page as well as clear information on when and where the seminar takes place and how much it costs.

The social media links in the footer allow the visitor to check out the organizers' reputation in social networks.

Returning visitors

Returning visitors who already know that they want register for the seminar can use the CTA button in the hero section of the landing page to quickly get to the registration form. There, they also find the date and place of the next seminar as well as the amount of available places.

Site purpose

The purpose of the site is to allow visitors to find information on the organizers' seminar and to register.

Site goal

The goal of the site is to intrigue the target audience and spur them on to partake in the seminar on soil health.

Design

The website is built to be intuitive and user-friendly, with a clear and unambiguous navigation and easy-to-find information.

Color scheme

The website uses earthy, natural tones:

  • The navbar and the sections with registration form and info use #3C312A as their background color and #D3F1D0 as text color
  • The navigation links and hero headings use #D3F1D0 as text color and #C3C397 as text shadow to appear slightly glowing
  • The main page sections use #C3C397 as their background color and #3C312A as the text color
  • Buttons and active navigation elements use #50952D to stand out
  • The footer uses #D36135 as background color to set a colorful accent
  • Variations of these colors are also present in the hero and background images of the site

Website palette containing 5 colors

Typography

The website uses only two fonts:

  • "Cherry Swash" for the logo in the navbar
  • "Signika Negative" for all other headings and texts on the site

Images

The images were chosen to fit in with the website's overall look and to provide the visitor with a pleasant break in-between the text paragraphs.

Features

  • Every page provides access to the navigation bar with links to the four pages and to the footer with links to social media pages
  • On the landing page ("What we do"), the visitor can also:
    • read about the contents of the seminar
    • click the CTA button to get to the registration page
  • On the "Who we are" page, the visitor can:
    • read about the organizers
    • find a small selection of the organizers' pictures
  • On the "Why it matters" page, the visitor can:
    • read about the importance of the seminar topic in general
    • watch two embedded YouTube videos relevant to the seminar topic
    • click on external links to read more about the seminar topic on other websites
  • On the "Register" page, the visitor can:
    • find all important information on the next seminar
    • fill out and submit a registration form
  • The "Thank you" page can only be accessed after successfully submitting the registration form; from there, the visitor can
    • return to the registration form via a button
    • use the navbar or the footer to navigate further

Future features

  • There should be a backend solution to save the form data
  • The registration page contains a paragraph with information about still available places. The number that is shown to the user is wrapped in a span element with the id open-seats which could be used to automatically replace the number with the current value from a backend database.
  • The same value should be used as the max amount for the input form labelled "Number of participants"

Known bugs

  • When scrolling through the landing page on a mobile, one can sometimes see the background images of the scroll-by sections jump or slightly change their size. So far, I was unable to fix this issue.
  • On the Why and About pages, in mobile view, paragraphs that are inside a div element with a class of .reverse-order have smaller left and right margins than the other paragraphs on those pages. I have yet to find the reason for that.

Technologies

Main languages

  • HTML5
  • CSS3

Frameworks, Libraries, Applications

Testing

  • The website was tested with Chrome DevTools to ensure responsiveness on all devices and screen sizes
  • The website was checked in the browsers Chrome and Opera and on the mobile devices Samsung S7, S8, S9 and Huawei P20 Pro
  • The website was tested with the HTML validator validator.w3.org which showed no errors
  • The website was tested with the CSS validator https://jigsaw.w3.org/css-validator/ which showed no errors
  • According to Chrome DevTools Lighthouse, the website has a performance value of 98 Lighthouse metrics showing a performance value of 98

Deployment

The website was deployed to GitHub Pages. Deployment process:

  • Create a local project in VS Code
  • Initialize the repository by opening a terminal and entering the command git init --initial-branch=main
  • Add all project files to the repository with the command git add .
  • Commit all added files with the command git commit
  • Push the files to the remote repository on GitHub with the command git push
  • Login to GitHub.com and open project repository
  • Click on "Settings"
  • In the left panel, select "Pages"
  • Under "Build and Deployment" - "Source", select "Deploy from a branch" and select the main branch
  • Once the deployment is finished, the link to the page is shown at the top of the GitHub Pages section
  • The live link can be found here

Acknowledgments

  • The Code Institute course materials and the "Love Running" project provided me with all the basics needed for the basic page design
  • W3schools and the mdn web docs provided additional help on various CSS properties
  • CSS tricks provided a helpful guide to flexbox
  • Many thanks to my mentor for constructive feedback
  • Many thanks to the Code Institute slack community for constant and general support
  • Credits for free images taken from pexels: Sippakorn Yamkasikorn, Carsten Ruthemann
  • Credits for free images taken from unsplash: Roman Synkevych, Gabriel Jimenez, Glen Carrie, Steven Weeks, Paul Mocan
  • Other images are my own

portfolioproject1's People

Contributors

rikailjina avatar

Watchers

 avatar

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.