Coder Social home page Coder Social logo

pronto's People

Contributors

calippo avatar francescocioria avatar fuma900 avatar gabro avatar giogonzo avatar lucacioria avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pronto's Issues

[restaurant] main layout

requirements

minimal layout with

  • navbar links
    • view orders
    • edit menu
    • edit profile
  • open toggle button

specs

{optional: describe technical specs to implement this feature, if not obvious}

misc

{optional: other useful info}

[Restaurant Page] Create Menu component

#7

requirements

  • create the component to display the restaurant's menu
    • menu can be readOnly or canInteract

specs

{optional: describe technical specs to implement this feature, if not obvious}

misc

{optional: other useful info}

[Restaurant List] Restaurants route structure

#3

requirements

  • define the route to retrieve the restaurants list

specs

{optional: describe technical specs to implement this feature, if not obvious}

misc

{optional: other useful info}

[restaurant] create edit menu view

requirements

{describe the new feature}

specs

{optional: describe technical specs to implement this feature, if not obvious}

misc

{optional: other useful info}

[restaurant] implement orders list

requirements

  • orders should be sorted by date desc
  • should allow to show detail for each order

specs

{optional: describe technical specs to implement this feature, if not obvious}

misc

{optional: other useful info}

Restaurant Details Header

#5

requirements

this component will be used as header in the restaurant page (/:restaurantId)

display every restaurant detail

sub-issues

  • HeaderImage + background image #15
  • details grid #16

Restaurant List

requirements

A customer must be able to browse a list of the available restaurants, checking the information about them.

specs

TBD

sub-issues

  • RestaurantCard #9
  • Restaurants route structure #18

[restaurant] create edit profile view

requirements

user should be able to edit restaurant properties:

  • refer to Restaurant.maxPeople.. and all of RestaurantProfile for now (api is slightly changed, but fields are the same)
  • plus: imageURL

specs

{optional: describe technical specs to implement this feature, if not obvious}

misc

{optional: other useful info}

[Restaurant Orders] add main view, routes

requirements

setup routes and main components for restaurant/Orders

specs

{optional: describe technical specs to implement this feature, if not obvious}

misc

{optional: other useful info}

[customer] macro layout

requirements

macro layout

specs

  • routes
  • use layout components from #46

misc

{optional: other useful info}

Restaurant Page

requirements

A customer wants to see the restaurant details.

specs

TBD

sub-issues

  • Static Menu #7
  • Restaurant Details Header #12
  • Order Right Sidebar #26
  • Cart component #29

[customer] OderDetails

requirements

it should be used in Order and PersonOrder

specs

  • use two different containers
  • follow mockup on zeplin
  • optionally deletable (only in Order)
  • optionally editable (only in Order) (why not simply "clickable"??)

misc

{optional: other useful info}

[Order Page] Submit order

#8

requirements

A customer must be able to submit the order.

Any customer can perform this action.

Upon submit, the customer is asked a phone number.

specs

TBD

[Restaurant Page] Cart component

#5

requirements

  • in the routes
    • /:restaurandId
      • has only a Button with label Create order
      • more details #26 (comment)
    • /:restaurandId/:orderId => display the list of people, can add/edit/remove people, can submit order from here
    • /:restaurandId/:orderId/:personId => display items of person, can add/remove items, can confirm or cancel changes

specs

props

  • Order
    • id: maybe(String), // :orderId`; if absent, the cart is empty
    • status: submitted | pending
    • referencePhoneNumber: maybe(t.String)
    • people: list(Person)
  • Person:
    • name: String
    • items: list(String)

misc

route /:restaurantId

  • orderId is undefined, display only a button
  • on button click it should
    • call to API to create an Order resource, get back an orderId and transition to /:restaurandId/:orderId

image

[Order Page] ask for name

#10

requirements

A customer must provide a unique name when adding an order item.

If the name is already take, it should display an error message and prevent moving forward.

specs

Maybe a modal

add generic Poll helper

requirements

we are going to poll data from firebase

specs

render something like:

<Poll interval={1000} callback={() => { console.log('interval'); }} />

(passing a refresh command)

in every route we need data refreshing

misc

{optional: other useful info}

[ComposableMenu] implement composable menu

#10

requirements

  • Users should be able to compose their menu
  • A menu may have additional free info written by the restaurant
  • should be stateless
    • value ---> big JSON :hurtrealbad:
    • onChange
  • for now forget about à-la-carte groups

specs

  • strictly follow Menu schema described in /model/index.js

misc

{optional: other useful info}

Remove nested RightSidebar

description

as for title

how to reproduce

  • {optional: describe steps to reproduce defect}

specs

{optional: describe a possible fix for this defect, if not obvious}

misc

{optional: other useful info}

[Order Page] Add my order

#8

requirements

A customer must be able to add their own order

specs

TBD

sub-issues

  • ask for name #17
  • implement composable menu #4

[Order Page] Order Item list

#8

requirements

A customer must be able to view the order items list, e.g. the order items already inserted by other people, if any.

route /:restaurantId/:orderId

it should

  • be able to transition to /:restaurantId/:orderId/:personId
  • display the list of Persons
    • and items of each person
  • when click on person name it should transition to /:restaurantId/:orderId/:personId (to edit person's order)
  • hovering on person name, it should show a X button to remove the person, after a confirmation modal (confirm to delete)
  • there should be a button add Person
    • on click it should prompt a modal to add person's name (:personId)
    • on confirm, it should transition to /:restaurantId/:orderId/:personId
    • if the list is empty, it should behave like if one has clicked add Person (prompt modal)

image

specs

TBD

App layout

requirements

  • define components to organize layout

specs

{optional: describe technical specs to implement this feature, if not obvious}

misc

{optional: other useful info}

[Restaurant Page] Static Menu

#5

requirements

Display a static version of the menu, so that users can see what the restaurant offers

specs

TBD

sub-issues

  • Create Menu component #21
  • Use Menu in restaurant details page #22

[Printer] filter submitted by index

requirements

Printer should filter orders using index on status, checking for equalTo=submitted

specs

curl https://pronto-9842a.firebaseio.com/orders/1.json\?orderBy\=\"status\"\&equalTo\=\"submitted\"

[API] Write firebase APIs

requirements

  • Elencare tutti i ristoranti (solo informazioni per gli utenti, niente ordini)
    GET /restaurants.json
  • Elencare le informazioni per un ristorante
    GET /restaurants/{rid}.json
  • Aggiungere un ristorante
    PUT /restaurants/{rid}.json { open: boolean, maxPeopleNumber: uint, name: String, description: String, telephone: String, address: String }
  • Mostrare il menù per un ristorante
    GET /restaurants/{rid}/menu.json
  • Creare un menù per un ristorante
    PUT /restaurants/{rid}/menu.json { description: String, groups: [{name: String, items: []}] }
  • Elencare gli ordini di un ristorante
    GET /orders/{rid}.json?orderBy=:key&startAt=:from&endAt=:to
  • Creare un ordine per un ristorante
    PUT /orders/{rid}/{oid}.json { status: "pending" }
  • Mostrare un ordine per un ristorante
    GET /orders/{rid}/{oid}.json
  • Aggiungere una persona all’ordine
    PUT /orders/{rid}/{oid}/peopleOrders/{uid}.json { orderItems: [String] }
  • Submit un ordine
    PATCH /orders/{rid}/{oid}.json { customerPhoneNumber: String, status: "submitted" }

Order Page

requirements

A customer must be able to place an order

specs

TBD

sub-issues

  • Add my order #10
  • Submit order #11
  • Order Item list #13

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.