Skip to content

abikirkham/the-soul-train

Repository files navigation

The Soul Train: Navigating Life with Mindfulness and Meditation 🧘‍♀️

My Vision

Welcome to The Soul Train, I started Soul Train to help people like me who just got into yoga, pilates, and mindfulness. I share all kinds of info – different yoga and pilates styles, meditation tips, and even cool things like sound healing. I created this site to showcase what I can do for businesses in the yoga industry, offering ideas and resources to support growth and success. This is important to me, and I'm thrilled to share my insights in a creative and meaningful way.

Live Site

Explore The Soul Train

Repository

The Soul Train repository viewed on GitHub

User Stories

Beginner Yogi

  1. View Class Schedules:

    • As a beginner yogi, I want to easily access the class schedules on The Soul Train, so I can plan my yoga sessions accordingly.
  2. Class Information:

    • As a beginner yogi, I want detailed information on what to expect in each class, including the type of yoga and the focus of the session.
  3. Contact Page:

    • As a beginner yogi, I want an easy-to-navigate contact page where I can ask questions about the classes or seek guidance from experienced professionals.

Yoga Professional

  1. Join The Soul Train Team:

    • As a yoga professional, I want to find information on how to sign up and join The Soul Train team as an instructor.
  2. Explore Class Schedules:

    • As a yoga professional, I want to explore the class schedules and understand the class structure to align with my expertise.
  3. Contact The Soul Train Team:

    • As a yoga professional, I want a straightforward contact page to connect with The Soul Train team for any inquiries or to express interest in joining as an instructor.

Sound Healing Enthusiast

  1. Access Audio Section:

    • As a user interested in sound healing, I want to access an audio section dedicated to sound healing, where I can find guided sessions or ambient sounds to enhance my yoga experience.
  2. Usage Instructions:

    • As a user interested in sound healing, I want clear instructions on how to use the audio section and integrate it into my yoga practice.

Equipment Guidelines

  1. Information on Equipment:

    • As a participant, beginner, or professional, I want to have access to an information page that guides me on what equipment to bring for each class.
  2. Understanding Equipment Importance:

    • As a participant, beginner, or professional, I want to understand the importance of specific equipment and how it contributes to the overall yoga experience.

Reconnecting with Yoga

  1. Inclusive Platform:

    • As a user looking to reconnect with yoga, I want a platform that caters to both beginners and professionals, allowing me to start my yoga journey or deepen my practice.
  2. User-Friendly Interface:

    • As a user looking to reconnect with yoga, I want a user-friendly interface that provides a seamless experience, making it easy to explore classes, schedules, and additional resources.

Wireframes

Technologies Used

  • HTML: I utilised HTML5 to structure my web pages, integrating multimedia elements like images and audio to enhance content presentation and user experience.

  • CSS: I employed CSS to style my HTML documents, specifying visual aspects such as colors, fonts, and layouts to create an aesthetically pleasing and responsive design.

  • GitHub: I leveraged GitHub as my primary version control system, hosting my code repositories, using push/pull requests and deploying the site.

  • Gitpod/Visual Studio Code (IDE): I relied on Gitpod or Visual Studio Code as my IDE of choice, utilising their features for writing, debugging, and managing my code efficiently, whether I was working in a cloud-based or desktop environment.

Features

Favicon

The Favicon which is an emoji to associate my website to the content to give this an idetity, as seen below.

IconTab

Home Page

Click to expand. Your digital doorway featuring engaging visuals, concise descriptions, and inspirational quotes. The home page aims to pique curiosity and inspire a deeper exploration.

homepage

About Page 💫

Click to expand. Explore the heart of my mission, offering resources like sound healing audio and yoga essentials for an enhanced mindfulness journey.

about-page

Class Schedule Page 📆

Click to expand. Access an updated schedule of yoga, pilates, and meditation classes for active participation and seamless integration into daily routines.

classes

Blog Page

Click to expand. Insightful blogs on mindful eating and crystals provide knowledge and skills to enhance your mindfulness journey.

blogs

Contact Page

Click to expand. Establish a direct line of communication for personalized guidance, fostering a sense of belonging and support.

contact

Intricate Features

Navigation Bar

Click to expand. Consistent across all pages, ensuring smooth and intuitive navigation for a seamless user experience. Creating a smooth interaction which can be seen easy on the eyes ... *almost peaceful.*

navigation

Landing Page

Click to expand. A captivating point of entry with visually appealing, simplistic classe timetables, introducing the mission of *The Soul Train*. Creating easy access for those who have accessed the page previosuly and wanted to jump straight to the classes.

homepage

Audio

Click to expand. I have added an audio section to the yoga website, offering soothing sound healing sessions, allowing you to experience the calming effects and providing a convenient option for practicing at home.

audio

Club Ethos

Click to expand. Outlining the benefits of joining yoga, pilates and medication for beginners, encouraging peacefullness to the soul, participating the spiritual journey.

Meetup Times

Click to expand. Crucial and real-time information about the schedules, introductions, and defintions for what each class means.

pilates yoga meditation

Footer

Click to expand. Strategically positioned footer, reminding this is for beginners.

footer

Deployment

Making a Local Clone to create project

  • Find the GitHub Repository.
  • Click the Code button
  • Copy the link shown.
  • In Gitpod, change the directory to the location you would like the cloned directory to be located.
  • Type git clone, and paste the link you copied in step 3.
  • Press Enter to have the local clone created.

Updating my changes

git add - This command was used to add the file(s) to the staging area before they are committed.

git commit -m “commit message” - This command was used to commit changes to the local repository queue ready for the final step.

git push - This command was used to update all committed code to the remote repository on github.

Github

This project, The Soul Train, is deployed using GitHub pages using the following process,

Deploying a GitHub Repository via GitHub Pages

  • In your Repository section, select the Repository you wish to deploy.
  • In the top horizontal Menu, locate and click the Settings link.
  • Inside the Setting page, around halfway down locate the GitHub Pages Section.
  • Under Source, select the None tab and change it to Main and click Save.
  • Finally once the page resets scroll back down to the GitHub Pages Section to see the following message "Your site is ready to be published at (Link to the GitHub Page Web Address)". It can take time for the link to open your project initially, so please don't be worried if it does not load immediately.

Testing

Responsiveness

The Soul Train website was tested for responsiveness on screen sizes from 320px and above, following WCAG 2.1 Reflow criteria for responsive design. The testing was performed on Chrome, Edge, and Opera browsers.

Below are the images to show the responisiveness on all pages, this was done using the extension Responsive Viewer on Google.

Click to expand

Home

Home

About

About

Classes

Classes

Contact

Contact

Blog Home

Blog home

Blog 1

Blog1

Blog 2

Blog2

Blog 3

Blog3

Blog 4

Blog4

Blog 5

Blog5

Capability

The project has been tested for compatibility with the following browsers using this site. Unfortunately the trail on my account would not cover macOS which is why the images may look different:

  • Google Chrome (Version 122)
  • Edge (Version 122)
  • Firefox (Version 124)
  • Opera (Version 108)
  • macOS Sonoma 16.5

Below are the images shown to prove these tests.

Click to expand.

Google Chrome

chrome

Edge

edge

FireFox

firefox

Opera

opera

macOS Sonoma 16.1

macOS

Accessibility

By utilising the Wave Accessibility tool for ongoing development and final testing, used for the below:

  1. Ensure all forms have associated labels or appropriate aria-labels.
  2. Validate that color contrasts meet the minimum ratios outlined in WCAG 2.1 Contrast Guidelines.
  3. Verify correct heading levels to accurately convey content importance.
  4. Confirm content is organized within landmarks for ease of use with assistive technology.
  5. Provide alternative text or titles for non-textual content.
  6. Set the HTML page lang attribute.
  7. Implement Aria properties in adherence to best practices outlined in WCAG 2.1.
  8. Follow established coding best practices for WCAG 2.1.

Lighthouse Testing

  • Integrated into Chrome Developer Tools or available as a standalone tool.
  • Below you can see the Lighthouse results for all pages
Click to expand.

testing-home testing-about testing-classes testing-contact testing-blogs

Manual Testing

Function User Action Outcome Result
Start on Home Page Accessing the webpage using this link This will load the webpage with mutliple sections, the appropriate selectors and navigation/links to other pages. Pass
Hover on buttons and links Hover mouse over buttons and links Visual feedback (e.g., color change) Pass
Sections Navigate through different sections Display respective section content using HTML and CSS to be consistant Pass
Background on all pages Nothing for user to do Background image should load on this page without distortion Pass
Navigation Click on navigation icon to bring the drop down function elements to show Drop down menu acts as expected even on smaller screens Pass
About page Click the about page link in navigation bar Display information about the benefits, ecesitites and sample content Pass
Audio Interact with audio elements Play, pause, adjust volume, etc. Pass
Classes page Click the about page link in navigation bar Display the class sections through sections withing containers, tables and images Pass
Sections Navigate through categorised sections Display categorised section content Pass
Images Accessed on the classes page Show images with no distortion Pass
Tables Accessed on the classes page Visually show the table with no issues when move to smaller screens Pass
Blog Access blog page Display list of blog posts Pass
Sections (Blog1, Blog2, Blog3, Blog4, Blog5) Navigate through blog sections Display respective blog post content Pass
Contact Accessed through navigation bar Input first name, last name, email, etc. Pass
Name Field Input first name Allows user interaction Pass
Name Field Input last name Allows user interaction Pass
Email Field Input email Allows user interaction Pass
Submit Clicks button - submit contact form Accepts form data and opens redirect page Pass
If not filled (Name, Last Name, Email) Submit contact form with missing fields Validation error message will show, notifying the user to fill field out Pass
Redirect page Submit contact form successfully Redirect to a confirmation page, showing thank you message and that this page is on a time and will redirect in 10 seconds Pass
Timer Trigger timer functionality when opens the Redirct page After 10 seconds the page will open the home page without user interaction Pass

Form Testing

The site was tested for both correct and incorrect inputs for user interactions, covering various scenarios.

Scenario One - Correct Inputs

Steps to test:

  1. Navigate to The Soul Train - Home Page
  2. Scroll down to the form and input the following data:
  3. Click Submit
  4. User should be redirected to contact.html confirmation page

Expected:

Form submits with no warnings or errors, and the user is redirected to thankyou.html confirmation page.

Actual:

The website behaved as expected with no errors or warnings and redirected to thankyou.html.

Scenario Two - Missing Required Field First Name

Steps to test:

  1. Navigate to The Soul Train - Home Page
  2. Scroll down to the form and input the following data:
  3. Click Submit

Expected:

The form does not submit, and an error is displayed to tell the user that the field is required.

Actual:

The website behaved as expected; an error message was displayed, and the form did not submit.

field-require

Scenario Three - Missing Required Field Last Name

Steps to test:

  1. Navigate to The Soul Train - Home Page
  2. Scroll down to the form and input the following data:
  3. Click Submit

Expected:

The form does not submit, and an error is displayed to tell the user that the field is required.

Actual:

The website behaved as expected; an error message was displayed, and the form did not submit.

field-require

Scenario Four - Missing Required Field Email

Steps to test:

  1. Navigate to The Soul Train - Home Page
  2. Scroll down to the form and input the following data:
    • First Name: Jane
    • Last Name: Doe
    • Email:
    • Comment: This is a test.
  3. Click Submit

Expected:

The form does not submit, and an error is displayed to tell the user that the field is required.

Actual:

The website behaved as expected; an error message was displayed, and the form did not submit.<

field-require

Scenario Five - Incorrect email format

Steps to test:

  1. Navigate to The Soul Train - Home Page
  2. Scroll down to the form and input the following data:
    • First Name: Jane
    • Last Name: Doe
    • Email: doe.janetest.com
    • Comment: This is a test.
  3. Click Submit

Expected:

The form does not submit, and an error is displayed to tell the user that a valid email is required and the format it should be in.

Actual:

The website behaved as expected; an error message was displayed, and the form did not submit.

field-require

Validator Testing

HTML

Link to HTML Testing

No errors were found when using the official W3C validator for all HTML, please see images below.

Home W3C

About W3C

Classes W3C

Contact W3C

Blog Home W3C

Blog1 W3C

Blog2 W3C

Blog3 W3C

Blog4 W3C

Blog5 W3C

CSS

Link to CSS Testing

No errors were found when using the official (Jigsaw) validator for CSS. As all HTML are using the same CSS, there is only one test required.

JigSaw

Bugs

Issue #1: With the support and guidance with the communities on slack and from tutors at code institute providing my with all information on how to adjust the images on multi sized screens to fit in the containers. However, on smaller screens these images do present stretched.

advice

Issue #2: Hidden checkboxes and labels for the gallery filter and accordion were inaccessible via keyboard due to the use of display: none;. Used for the navigation, including the icons, such as, ☰, which I found from Microsoft word keyboard, with support from my mentor on this project, Gareth Moore, who helped me allow this to work well on smaller screens.

Credits

Code

Media

This is for educational purposes only

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published