View the live website here.
AllyIndex is positioned to be a central hub of information to dispel myths surrounding certain identities under the LGTBQ+ umbrella, build trust, familiarity and confidence between members of those identities and CIS gendered individuals. The focus is on building a bridge, support and understanding.
Additionally, a mini quiz will be accessible to help reinforce what has been learnt through the website and gamify the experience to encourage the user to come back and improve their score by developing their understanding of the LGBTQ community.
As a first-time visitor I want...
As a returning visitor I want...
We will be designing our site with soft pastel colours closely matching those found on the Pride flag in order to pay homage to the various LGBTQ communities. Where necessary the colours white and black will also be used in order to create optimal contrast between text and backgrounds for accessibility purposes.
For typography across the site, we will be using a combination of "Lilita One" and "Montserrat". Both fonts are provided by Google Fonts. Lilita One is a bold and impactful font which will be used for things like section headings, links and buttons whereas Montserrat is a beautiful yet simplistic font in its own right with wonderful readability at smaller font sizes. Therefore, Montserrat will be used for the main text across the website pages.
Imagery for the website will consist of images paying tribute to the bravery and bold personality of members of the various LGBTQ communities as well as some imagery from historical moments and places, for example, Stonewall. Where possible the images will be sourced from Unsplash which provides images that are free to use. Where necessary we will use images from other sites with attribution.
The home page serves as a way to let the user know what the site is for, the ethos and purpose. The user is greeted with an attention grabbing carousel of lgbt+ images and a call to action to take part in the quiz. Further down the homepage, the user can see basic information about what the site hopes to achieve.
From here the user can browse through the available lgbt+ resources. There is a comprehensive terminology list, as well as an overview of lgbt+ history. Each section can be viewed by clicking the heading to view a dropdown of information.
The quiz page is where the user can take part in the lgbt+ quiz and test their knowledge. Local high scores are saved to the users device, so they can come back and try again. The user is asked 10 questions from a pool of 20+ questions, so the quiz is different each time you take part.
The about page shows who the developers were for the hackathon/project team. The user can view the info cards and find links to the developers social and Github pages.
On the contact page the user can submit a simple form to get in contact with the team.
We had an issue with the quiz sometimes repeating questions. The initial implementation used an array that was prepopulated with the ID of each question. An algorithm would generate a random number and get the ID from the array at the index of the random number, then prompt the user with the question associated with that ID. This implementation was deemed to be convoluted and, as mentioned, had a bug causing the same questions to be asked multiple times on occasions. Rather than investigate the issue to find the cause we opted to simply rework the algorithm. This was due to time constraints and the fact that we conceptualisied a much simpler solution. Now, when a question is asked it adds the question ID to a separate array, which is checked to see if the array already contains that ID, if it does, it simply generates a new number and checks that the associated question ID isn't already in the list. This is still not perfect but is good enough in this scenario.
Our video background was initially picked up as having errors because it was defined as a section and had no headings within it. In order to resolve this, we changed the parent HTML element to be a simple div
instead of a section
.
While all pages have some messages rated as "info" we have decided to ignore them as they will have little to no impact on usability or accessibility and within the scope of this project, we would rather use the time elsewhere. For the sake of this project, we are prioritising "warning" and "error" messages.
We have a single warning for the use of an inline styling including a CSS variable. This is only a minor concern. The inline CSS variable is implemented to avoid unecassary Javascript so this is a compromise we have discussed and are willing to make. Other than this we have no reported warnings or errors.
The website successfully passes the W3C CSS Validation checks.
In order to verify our JavaScript file does not have any errors we have validated the app.js file using JSHint. The results are visible in the image below. No errors were found.
Lighthouse testing has been thoroughly conducted on every page of the website, with each page excelling in all areas. Particularly noteworthy is the perfect accessibility score of 100 on every page!
Homepage
Quiz
About
Learn
Contact
We used a11y to check the site for any contrast issues. The report can be seen in the image below. There were no accessibility issues found.
The site has been tested on all screen sizes and performs as expected.
Manual testing can be found in the Testing File
Testing specifically for the Quiz can be foound in the Quiz testing File
The project was deployed to Github Pages using the following steps:
Follow the steps below to clone the repository:
repository-url
"Follow these steps to fork the repository
Fork
in the top right cornerOwner
dropdown menu.Repository Name
field to rename your forked repositoryDescription
field to input a description of your forkCreate Fork
Many thanks to the 'Hackteam' who give their time and energy voluntarily to support Code Institute's July 2024 Hackathon.