Code Monkey home page Code Monkey logo

turing-cafe-fe's Introduction

Turing Cafe - Reservation Portal

This application was built with create-react-app.

Set Up

Clone down this repo.

On GitHub, create a new, empty repository and name it something like 'turing-cafe-fe'.

Update the current remote origin and point it at the new URL of the repository you just created on GitHub. You can read how to do this here.

Once you've updated the remote, you should run npm install, commit, and then push your initial commit to your updated remote origin. You might need to use the -u flag when you push (like this: git push -u origin master).

Run npm start to start up your React server.

Expectations / Rules

Build a React App that displays the current reservations for the Turing Cafe!

You will have 3 hours to build this application.

turing-cafe-screenshot

We do want to see good commit habits - atomic commits that log small, focused changesets. Don't worry about creating GitHub issues, though.

Iteration 0

Pull down the API repo. Set up instructions are in that repository's README.

Do not nest this inside your front-end repository.

Iteration 1

Get all existing reservations on page load and display them on the DOM.

Iteration 2

Create a controlled form component to create a reservation (look into the API documentation to see what pieces of information are expected, and what datatypes it wants each piece to be). As a user types into the input fields, the component's state should change. When the user clicks the Make Reservation button, the application should update the App's state. The new reservation should display with all of the existing reservations.

Iteration 3

Now that the functionality is there, write some tests. It is not necessary to test everything. Write atleast 2 tests covering UI (ie snapshots), 2 tests for changes in state, and finally 2 tests that simulate events (6 total).

Iteration 4

When the user makes a reservation, the application should make a post request to the API. The new reservation should still exist upon reloading the page.

You may not have any fetch calls in any component other than App!

(If you have time to refactor your fetch calls into a separate helper file, that is fine, but it is NOT a requirement for this application.)

Iteration 5 (extension)

Delete a reservation when the user clicks the Cancel button. The deletion should persist upon reloading the page.

Extensions

  • Now try testing your API calls. Try writing out a few tests including happy path and sad path testing.

  • Add a button or drop down so that the user has the option to sort their reservates by date from earliest to latest or latest to earliest.

turing-cafe-fe's People

Contributors

benjamin-firth avatar christielynam avatar

Watchers

 avatar  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.