GithubHelp home page GithubHelp logo

ciampo / offbeat-appetite Goto Github PK

View Code? Open in Web Editor NEW
6.0 6.0 1.0 6.92 MB

The Offbeat Appetite's frontend

Home Page: https://offbeatappetite.com/

License: MIT License

TypeScript 80.31% JavaScript 17.20% CSS 2.45% HTML 0.05%
blog netlify nextjs react reactjs sanity sanity-io typescript

offbeat-appetite's People

Contributors

ciampo avatar dependabot[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

prooftv

offbeat-appetite's Issues

Add sample blog post

After #1 and #2 are done, please add a sample post on the CMS in order to test the workflow and any missing feature

Analytics events

  • newsletter form submission
  • nav links
  • drawer links
  • footer links
  • share buttons
  • search page interactions
  • subscribe toast interaction
  • post external links
  • Post tiles
  • "see more" links

Accessible Video

  • if not auto-playing, show poster image as an accessible image
  • overlay play button on top of poster
  • use native controls when playing
  • focus styles:
    • when poster is showing
    • when playing
    • when paused

Structured data

Design templates

Crosby

  • I like the hero image framing the screen as opposed to introducing other elements half way through (it looks clean)
  • I like having the logo on one side and the menu/social buttons on the other side.
  • I like how the three images sit next to each other. Would need to work out ration that compliments food photography best. I think the current size of the images is to narrow and long.
  • I like how the homepage is broken down into different sections with 3 images, then one, then 2 etc. This is aligned with what we discussed on the 3-1-3-1 split.
  • I like the transitions of the different sections. It makes the website look expensive.

Recipe Lite

  • The one thing to mention is the display of the 3 images with the textbox. Again, need to understand what is the best ration for displaying food pictures. Also, need to understand what text to include per image e.g. name, time to cook, category/tag etc.

Cooking School

  • Like the hero image but not a fan of it not reaching the end of the page
  • It's not an ideal model to follow as we are focusing on minimalism. HOWEVER, I do like the videos are integrated. It's also not great that they overlay the squares over a background image but it would be nice if the squares were simpler. This website definitely needs more negative space though.

Add blog subscription form

Media Gallery content block

  • builds on top of #47 and #48
  • Enforce ratio images that are side-by-side (see design spec)
  • logic to have a different layout for last item where there is an odd number of elements

[Post] Related blog posts

  1. Pick all Blog Posts with at least one tag in common
  2. Sort them by the highest amount of tags in common, and then by publication date
  3. Limit to a maximum of 3

Home page

  • hero (tagline and image)
  • blurb / subscription (optional)
  • 3 featured recipes
  • 1 featured stories
  • 3 featured reviews
  • 1 featured toolkits

Site footer

  • subscribe (requires #8)
  • logo + site links
  • legal links & copywright

Migration to sanity.io

  • Create all schemas in Sanity
    • PageHome
    • PageAbout
    • PageCategory
    • PageSearch
    • PageGallery
    • PageBlogPost
    • PageThankYou
    • SiteSettings
    • SiteMisc
    • Person
    • BlogPost
    • Catetgory
    • Tag
    • RecipeBlock
    • CaptionImageBlock
    • CaptionVideoBlock
    • MediaGalleryBlock
    • ...
  • Configure Sanity Studio
    • Theming
    • Add dashboard
    • Deploy to netlify
    • Check and flag unused assets
    • Staging vs Production
    • Desk organisation: create blog post subfolders for each category
  • Migrate sourcing content from Contentful to Sanity
    • Fetch Sanity data
    • Swap data script from Contentful to Sanity
    • Create index/no index pages and update SEO scripts
    • Create NavLinks data
    • Replace placeholder data when possible
    • Merge page info in Blog Posts and Categories
    • Sort categories according to site settings (in nav links, search tags...)
    • Change all pages getInitialProps
    • Swap RichText renderer with simple versions of all content blocks
    • Rewrite types (npm install @sanity/client@ts-client)

Contentful Structure

post content types:

  • rich text
  • media gallery
    • media object (video/image + optional caption)
  • recipe block
    • ingredients list (name, quantity, unit)
    • time (minutes)
    • method

category

  • category

tags

  • tag

post

  • meta
  • slug
  • category
  • tags
  • content blocks
  • comments enabled
  • featured
  • "preview" content (content used to show a post "tile")

pages:

  • home
  • all recipes
  • all stories
  • all toolkits
  • all reviews
  • about
  • single block post
  • search
  • photos

Misc:

  • nav / footer / any misc piece of text

Subscribe toast

  • Clicking on the toast scrolls the page to the subscription form
  • Sets a localstorage option to avoid showing it again if the subscription goes through

Site header / nav

  • logo + nav items
  • skip to content
  • transparent VS solid variant
  • Desktop vs Mobile variant
  • Mobile drawer (dynamically loaded)
  • hover / focus styles
  • drawer focus management

Optimize Contentful docs

consider preparing multiple versions of collections, in order to minimize the size of JSON payloads for each page

e.g.:

  • posts should be split by category
  • the post collection pages don't need the post content, only the "preview" content
  • the home page only needs the latest 4 posts for each category

Recipe block CMS changes

  • Remove common title from site misc content
  • Add "servings" label
  • Add a specific title/subtitle
  • update GROQ queries

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.