Code Monkey home page Code Monkey logo

hamburger-menu's Introduction

Sprint 2 – Add a "Hamburger" menu to a project

It's very rare that you will always start fresh when entering a web project. It's more likely that you will take over someone else's code, or work together to build more features. In today's assignment you will get thrown into an existing React project – the Technigo website!

The project was started by another developer, who made a start building some components, but never got around to finishing. We want you to continue their work by turning the navigation at the top of the page into a "hamburger" menu like you find on other sites.

How to complete this assignment

This assignment is divided into three parts. Pro tip is to start to look through the reading list – it might come useful.

1. Setup the React Project

In the "code" folder in this assignment you'll find the code which the other developer left for you. In the terminal, "cd" into that folder and install dependencies by running npm install. Once that's done, you can start the project by running npm start.

2. Implementing a Hamburger menu

Implement a hamburger menu for mobile devices into the existing project. You need to figure out how to place the new feature in the existing project without breaking it.

The hamburger menu should be implemented purely with CSS and on click, it should fold out the menu of the page. You can use a styled checkbox input tag to store the open/closed state of the menu. The example from our lecture on this can be downloaded here

3. Check your code!

The project is set up with the Technig eslint rules, and your changes should conform to these! Run npm run lint to check your code, or install the "linter-eslint" atom plugin to get atom to run the checks in real-time.

📚 Reading List


🆘 How to get help

Learning how to think as a web developer is learning how to be an expert in problem solving. So whenever you get stuck start with step 1 and continue until problem solved.

  1. Google! In English, type in the error message if there is one, search within the language you're using (ie CSS, JavaScript etc).
  2. Ask your code buddies in your Company.
  3. Ask your fellow students in Slack.
  4. Ask Damien. Please note: we are part of a sharing community - share the answer with your fellows.

💥 Success!

After completing this assignment you should have knowledge about other peoples coding styles and how to setup someone else's project on your computer. As a bonus you also get practice in using and structuring React projects and improve on your CSS ninja skills.


🏃 Stretch Goals

Done with the main task? Here's some ideas for things to continue with:

  1. Make the hamburger menu slide in and out of the page.
  2. Animate the lines in the hamburger menu to become a cross when the menu is open, and the normal 3 lines when it is closed.

hamburger-menu's People

Contributors

idlefingers avatar hannapettersson avatar louisebohlin avatar

Watchers

James Cloos avatar

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.