GithubHelp home page GithubHelp logo

tom-ai / sophia-website Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 1.0 310 KB

Portfolio website for Sophia, a viola and violin session musician based in Manchester, UK.

Home Page: https://www.sophiadignam.co.uk

JavaScript 8.04% TypeScript 91.18% CSS 0.79%
nextjs13 react tailwindcss typescript cloudflare datocms formspree nextui

sophia-website's Introduction

Hi there 👋

  • 🌱 I’m currently using React JS and TypeScript with .NET and C#
  • 🎶 I like creating helpful tools for musicians (with @mjhxmjh)
  • 📫 How to reach me: [email protected]

sophia-website's People

Contributors

iampaandey avatar tom-ai avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

iampaandey

sophia-website's Issues

Order/emphasise featured artists

Make the collaborator names on the homepage more dynamic.

Some ideas on how to emphasise:

  • Based on an 'importance flag' (requires CMS update)
  • Based on the number of posts related to that artist (more logical?)
  • Ordered by most-recent gig

And/or:

  • Split up the buttons into event type subsections, e.g. "Bands", "Curated Nights", "Hiphop", "Orchestral"

However that would need to be a separate ticket with designs/research as to how to do best.

Allow visitors to browse multiple collaborators

When a user is browsing an artist page, currently the only way to explore other collaborations is to return to the homepage. It's a bit difficult.

Improve this by allowing visitors to browse from one collaborator she has worked with, to another.

Some ideas:

  • ‘lucky dip’ or ‘see another’ button
  • A section of collaborator cards
  • A section of posts with different collaborators

AC

  • User can browse directly from one collaborator to another

Optimize the site speed

I am noticing slow page loading times. Time to First Byte and FCP etc. (Proper testing is difficult as I am away from computer).

Currently the server builds files on every request (SSR), but I think the load times could be improved by statically generating the html and css on each build, and serving them directly on each request.

At least for components like nav, headers and footer that don't change much.

Bear in mind:

  • Some text sections hydrate on client (lookup "Structured Text" in datocms docs)

Raise PR and we'll do some A/B testing.

Add Encore Musicians badge

Add the following embed code to the footer. Somewhere that looks nice.


<!--Encore Button Generated 12th January 2024 at 5:55pm; Copyright Encore 2024--><a href='https://encoremusicians.com/hire/violists?utm_source=badge&utm_medium=web&utm_campaign=verified_badge&utm_content=dark-small' target="_parent"><img src='https://encoremusicians.com/img/embeds/badge-dark.svg' alt='Book Sophia Dignam on Encore Musicians' style='width: 80px; height: 80px;'/></a>

Encore Musicians is an online bookings agent, of which Sophia is registered with. This button will boost SEO rankings.

harmony colors

  1. Get colour from Figma - https://www.figma.com/file/FIoT7viVE09y2Uqy46F2Ew/Harmony%3A-Accessible-UI-Color-Palette-(Community)?type=design&node-id=72-8323&mode=design&t=4pda9xPcmYnZvE7m-0
  2. Convert to HEX - https://oklch.com/#71.88,0.152,240,100
  3. Apply to config
colors: {
            primary: {
              DEFAULT: "#0c8aca", // primary
              // foreground: "#ECEDEE", // text on primary
            },
            secondary: {
              DEFAULT: "#9572cd", // secondary
              // foreground: "", // text on secondary
            },
            warning: {
              DEFAULT: "#d7b75e", // warning
              // foreground: "", text on warning
            },
            background: "#000000", // background
            foreground: "#ECEDEE", // text on background
            focus: "#2caff9", // focus
            // default: "", // "base"
          },

Paginate posts

Regarding the list of posts on latest-work/{slug} (collaborator) pages.

Currently the page displays ALL posts, but this could get messy.

AC

  • Post list on artist page displays up to 3 posts by default
  • A "View more" button renders the next 3 posts from CMS

Photo credits do not display correctly

The two photos on the homepage need to display the photographers' credits, e.g. "Photo by @janetjacksonphotographer"

Currently the images are in figure html elements, with the caption in a figcaption as per MDN.

Hero image:

Fix caching issue

DatoCMS queries are being cached somewhere and are not rendering updated content

Allow oEmbeds from Vimeo and Facebook

Using the External Video field in the CMS, they've done the work of gathering metadata from media links (YouTube, Facebook, Vimeo) via a service called oEmbed.

Details on this are at https://www.datocms.com/docs/content-modelling/external-video-field

This means the API brings back a video thumbnail, which is being used in the Post/Card component, rather than a direct embed.

Currently, I've only tested this with YouTube links, but it needs to be setup to work with Facebook and Vimeo.

AC
Links of Facebook videos will return thumbnails correctly sized
Links of Vimeo videos will return thumbnails correctly sized

Finalize Contact CTA

Now that the CTA is to Contact

  1. move the Recent Posts to the homepage (latest 3)

  2. Add a redirect from /latest-work to homepage

Card components are not tappable!

As a user I expect to tap on the card thumbnail to open the link.

Currently I have to tap on "View this content on..." text to open the link. From watching people use the website, this is not their first instinct.

Make the entire card a link to open the content.

Considerations:

  • to remove, replace or keep the "View this content on..." text?
  • make only on thumbnail tappable, or the entire card component?

image

Improve desktop responsive CSS

As a user I want to see the all of the main photograph when browsing on desktop.

Currently the main hero image gets cropped when resizing on some screen sizes or zoom settings.

AC

  • Photo is fully portrait on mobile
  • Photo is fully portrait on tablet
  • Photo is fully portrait on desktop

Collaborator section is unclear, split into two!

As a user when browsing the homepage I want to know exactly what I am looking at.

Currently, the 'Collaborators' section ("Featured Artists and Events") displays two different things:

  • collaborator/artist buttons that link to artist pages.
  • 3 recent event posts that link to external media

Break up this section into two distinct sections:

  • "Featured Artists" - below show the artist buttons
  • "Recent Events" - below show the 3 recent events

Each section should have a heading and subheading (can be hardcoded for now)

Considerations:

Mockups

image

image

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.