Git Product home page Git Product logo

d11's Introduction

District Eleven Website Redesign

Hello! I've begun converting this React app into a Next.js 13 app. See the most up to date version here.

Before:

Desktop

Homepage hero view desktop Menu page view desktop

Mobile

Homepage hero view mobile Menu page view mobile

After:

Desktop

Homepage hero view desktop Menu page view desktop

Mobile

Homepage hero view mobile Menu page view mobile

Original website frustrations & solutions:

  1. Frustration: Updating menu items is a repetitive task that must be changed manually on all menu pages (all day menu, happy hour, and take-out).
    Solution: Request all menu item entries from Contentful at initial visit and use boolean values to dynamically render associated menu items to each menu page. User only needs to update item once on Contentful and publish changes.

  2. Frustration: Longer customer interactions due to sold out menu items that are not reflected on online menu. Servers do not have access to make quick menu updates during service. Can probably change on server iPads, but UI allows the website to be vulnerable to mistaken layout changes (ie. accidentally adding things where they shouldn't be, accidentally deleting other content, etc.).
    Solution: Contentful UI allows to make swift menu changes on server iPads with ease, without the website being vulnerable to layout shifts/mistakes. This change is made by simply toggling a boolean value and publishing these changes.

  3. Frustration: Seasonal or rotating menu items that should be removed completely from customer view must be manually typed back onto the menu when a menu item is back in season/rotation.
    Solution: Contentful allows for menu items to be unpublished, removing items from customer view, but retaining the data to be republished at a later time. Staff do not need to remember menu item names, descriptions, and prices, nor do they have to wait for management to make these changes.

  4. Frustration: Longer menu navigation for customers on mobile due to having to manually scroll to each section.
    Solution: Implement menu section navigation bar that remains at the top of the screen, so customers can jump from food to drinks, for example.

To do:

  • change drink category names
  • check if vietnamese categories are correct lol
  • convert project to nextjs app for ssg and implement contentful webhooks

Furthur development:

  • get better restaurant/food photos
  • implement 3rd party map in footer
  • make menu section navigation more obvious it is scrollable on mobile

d11's People

Contributors

kaseyvee avatar wagabooga avatar

Watchers

 avatar

d11's Issues

Create frontend tickets

Comb through frontend and locate any reusable components, buttons, or styles.

I think we should keep in mind small scopes for each task, we can start with the default button that is reused around the page but also should keep in mind page themes or the templated contentful sections. (we can style multiple contentful sections but would need to keep in mind the models we make through contentful)

any questions AMA

Create footer component

will hardcode info for now but cody might want to be able to change hours, contact info, etc. through contentful

Create contentful items

I have created content models, try adding menu items to the content. It should cover most if theres anything missing you will need to edit the model.

Where to go: Contentful's website

Get more information about what cody wants to be able to customize

Things like menus, (what type of menu: takeout/dine-in/drinks) and what would be on each. Would also like a list of menu items and prices and descriptions etc..

We should plan for creating templated sections for whatever he wants to customize, and create some data for our contentful models we created so we can test backend

Create content model(s) for drinks

We should decide on if we need one or multiple models for the drinks. Mixed drinks (cocktails and non-alcoholic drinks) have pretty similar content models I imagine but beers on tap and bottled drinks might be listed differently.

Create stylesheets for colors and fonts

We should use our fonts from Google fonts. https://fonts.google.com/ , as well as identify any reusable colors or gradients we might use throughout the project.

This includes:

  • Header/Bold Fonts
  • Other weighted fonts used throughout the design (Light, regular, medium, semibold, bold,)
  • Colors (for example if not white specify $white as a variable for the hex)
  • Gradients (maybe the on-hover gradients will change opacity, just change the color, or a variation. We should have these common-themed effects saved in a variable aswell)

Steps:

  • Create "fonts" folder in src/styles, and create files named "_font-name.scss" with an import of the fonts
  • Create "colors" folder in src/styles, and create "colors.module.scss" & "colors.ts".
    Using the scss create $variables: #H3XC0D3 for all the variants of colors and graidents we might use throughout the site.
    For the .ts file we will need to create an interface so we can access the variables.

As always let me know if there are any questions

COOL-FEATURE: Adding new button when menu item is updated

When a menu item is updated through contentful, we can track the updatedAt/createdAt times. We can leverage the way we build and plan our components to design a "New" theme that can dynamically change when updating content through the website.

If any questions please discuss

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.