Giter VIP home page Giter VIP logo

simulation-restaurant's Introduction

Project Summary

This project is designed to replicate what you might receive on the job. There won't be any guided instruction on what you'll need to do. We will only provide you with design specifications and technical requirements. Your mentors have also been asked to provide only minimal guidance. They can point you in the right direction, but cannot help you code. This project is a chance for you to combine and showcase the skills you've learned so far.

With this specification/requirement only structure, we believe this project will showcase what you can do at this point of the program. Because of this, we feel this project will be worth putting in your portfolio.

Good luck and work hard!

Color Palette & Font

Google Font - Open Sans
Google Font - Alegreya

The icons and images are included in the assets folder of this repository

Application Design

Auth View

Browsing View

Details View

Edit View

Add Item View

Cart View

Technical Requirements - Front-end

Auth View

  • User can login into their account.
  • User can register for an account.
  • User should be navigated to the Browsing View on a successful login or successful registration.

Browsing View

  • User can view all items available for purchase
  • User can filter books by meal
  • User can reset an applied filter to see a list of all items again
  • User can navigate to Item Details View by clicking on the items in the list
  • User can navigate to Add Item View
  • User can logout and be redirected back to the Auth View

Details View

  • User is able to add item to cart from here
  • User is able to navigate to Edit Item View
  • User is able to delete a item from the database
    • This should redirect the user back to the Browsing View
  • User is able to navigate to previous view
  • User should be redirected to the Browsing View after adding the item to the cart

Edit View

  • User populates an editable section based on the selected item's details to update and change information about the item
  • User is able to navigate to previous view, canceling the edit
  • User should be redirected to the Browsing View on completion

Add View

  • User can add a new item to the menu with all the appropriate values
    • Name, Price, and Description
  • User is able to navigate to previous view, canceling the addition of a new item
  • User should be redirected to the Browsing View on completion

Cart View

  • User is able to remove an item from cart and cart is updated
  • User can checkout
    • Thi should clear the cart
  • User should be redirected to the Browsing View on checkout

Technical Requirements - Back-end

  • The back-end should be created using express.
  • Massive will be used to establish a connection to your database and manipulate/retrieve data with SQL files
  • Student will create tables using the supplied data

Endpoints

Authorization Endpoints

  • POST - /api/auth/login - Sets the user information on the session.
    • On success return a status of 200 and the user object.
    • A user object should have the following properties:
      • id - This is the UserId you are using for your database.
      • username - This is the username associated with the UserId.
    • The database should store the password, but you should not send this information to the front end as part of the user object
    • On failure return a status of 500.
  • POST - /api/auth/register - Registers a user to the database. Sets the user information on the session.
    • On success return a status of 200 and the user object.
    • A user object should have the following properties:
      • id - This is the UserId you are using for your database.
      • username - This is the username associated with the UserId.
    • The database should store the password, but you should not send this information to the front end as part of the user object
    • On failure return a status of 500.
  • POST - /api/auth/logout - Destroys the session. Sends a status of 200.

NOTE: This is in no way a secure or effective way of storing user credentials. This is required for you to demonstrate your knowledge of data transfer and correspondence between the user and your server using sessions. Do not ever rely on this method in anything bound for production.

simulation-restaurant'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.