Giter VIP home page Giter VIP logo

apprenticeship-challenge's Introduction

Gaslight Apprenticeship Challenge

Welcome to the Gaslight Apprenticeship challenge. Your mission, should you choose to accept it, is to build a shopping list application using React. This repo is based on this excellent React book and tutorial. It should have everything you need to build a basic React application. We highly encourage you, if you are new to React (which is fine, I am too!) to follow this tutorial and build the example application.

Getting started

To start, you should make a fork of this repo. As long as you have node and npm installed on your computer, you should be able to do the following:

npm install
npm run start

This should build all the code in the application and start a server listening on port 8080. If you open your browser to http://localhost:8080 you should see this:

screenshot

This will mean your environment is set up correctly and you are ready to start coding!

The Shopping List

We'd like you to build a basic shopping list application. It should have the following features:

  1. Create a shopping list. A shopping list should have a name and list of items.
  2. Edit a shopping list. A user should be able to change the name of their shopping list.
  3. Add a shopping list item A user should be able to add items to a shopping list. Each item should have a name, SKU #, and price.
  4. Removing an item A user should be able to remove an item from a list.

Criteria

Impress us! We value code that is simple and easy to understand, as well as an application that works. We don't have any expectations that you have a server portion to this application, but if you're able to get these features implemented and want to stretch yourself/impress us more, here are some things you could try:

Test your code

If testing isn't something you've seen much of yet, it's one of the first things we'll focus on during your apprenticeship. There's a section in the tutorial we refer to on Testing React. Looking this over and applying it would definitely make you stand out from a crowded field :)

Store the shopping list

There are options like Firebase that would allow you to persist the shopping list in the cloud. That might be fun!

Add features

Think of other things a shopping list might need to be it more useful.

Submitting the finished application

Once you've built your application, submit a pull request to us. If you are new to using git there are many online resources for learning git. It will be necessary to have some basic working knowledge of git to complete this challenge, and it is a core skill you'll be using as an apprentice (and as a developer).

Next steps

We will review and select candidates to do pairing sessions with me on adding a feature to this application either in person or remotely using join.me or something similar. We appreciate you taking the time to complete this challenge. Our commitment to you is that if you submit a pull request, it will get a thorough review and we'll give you specific feedback even if you are not selected to pair with us.

Help, I'm stuck.

We understand that as an apprentice developer, you're new to development. That's ok, in fact, it's more than ok, it's the whole point! If you get stuck along the way, reach out. I'll be checking email regularly. I've set aside a few times to help you either in person at our office or on the phone, on this Friday, March 25. Here's where to book a time.

apprenticeship-challenge's People

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.