README

Example Guide

贡献指南

▼ 项目列表

▼ Intermediate-Level Ideas

Book Finder App

To-Do 应用

命令行计算器

Markdown预览器

Emoji翻译器应用

Password Generator

Name Generator

Meme生成器应用

FlashCards应用

Charity Finder App

Podcast目录应用

Game Suggestion App

Simple Online Store

Flip Art App

HighStriker游戏

Sports Bracket Generator

时区提醒机器人

二维码徽章应用

卡片记忆游戏

Bit Masks App

Chrome主题扩展

Currency Converter

Drawing App

GitHub个人资料

Image Scanner

Markdown表格生成器

RegExp助手应用

Sales数据库应用程序

String Art

This or That Game

Typing Practice App

Voting App

Math Editor

▼ 初学者项目合集

Bin2Dec应用

Border Radius Previewer

CSV转JSON应用

Calculator App

Calendar App

因果应用

Christmas Lights App

Color Cycle App

倒计时器应用

Dollars To Cents App

Dynamic CSS Variables App

First Database App

Flip Image App

GitHub状态应用

Hello App

IOT邮箱应用

JSON转CSV应用

Javascript正则表达式验证

Key-Value 应用

Lorem Ipsum 生成器

Notes应用

Pearson回归应用

Pomodoro时钟

产品登陆页

Quiz应用程序

随机餐点生成器

随机数生成器

Recipe App

Roman to Decimal Converter

滑块设计

Stopwatch App

True or False App

Vigenere 密码

Weather App

Windchill App

Word Frequency App

▼ Advanced Ideas

Battleship Bot

Battleship游戏引擎

Boole Bot 游戏

Bug Race Game

Calorie Counter App

Chat应用

Contribution Tracker App

Elevator App

FastFood应用

GitHub时间线应用

GitTweet应用

Instagram克隆应用

Kudos Slackbot

Movie App

MyPodcast Library App

NASA系外行星查询

Shell Game

Shuffle-Deck-App

Slack 归档器

SpellIt-App

Survey App

快餐模拟器应用

等级: 3-高级

快餐模拟了一个简单的外卖餐厅的运营,并旨在帮助开发者将他们对Promises和SOLID设计原则的知识付诸实践。

该应用模拟了一个外卖餐厅的客户下单并等待订单准备和交付到取餐台的过程。下单后,客户需要在订单宣布后再取走订单并前往用餐区。

构成这个应用的用户故事主要集中在四个不同的角色上:

  • 用户 - 最终用户使用应用程序
  • 客户 - 模拟客户
  • 订单领取者 - 模拟订单领取者
  • 厨师 - 模拟厨师
  • 服务员 - 模拟服务员

这个应用有很多用户故事。不过不要担心。花时间不仅要勾勒出UI,还要构思不同行为者(角色)如何互动,并按照敏捷原则逐步构建应用程序。

约束条件

  • 订单票可以表示为两种不同类型的承诺 - 其中一种是由服务员等待厨师准备的订单,另一种是由顾客在服务队列中等待的订单。
  • 使用您选择开发的编程语言中的原生Promise等效物。JS开发者应使用原生Promise,而不是async/await
  • 使用原生语言功能创建此应用程序。您不得使用模拟包或库。
  • 新顾客以固定的时间间隔到达订单队列。换句话说,新顾客以恒定速率到达。
  • 订单票也以固定的时间间隔履行。它们以恒定速率完成。

用户故事

应用程序操作

  • [ ] 用户可以看到一个输入区域,允许输入顾客到达的时间间隔以及厨师履行订单的时间间隔。
  • [ ] 如果顾客到达间隔或订单履行间隔输入错误,用户可以看到一个自定义的警告消息。
  • [ ] 用户可以通过点击开始按钮来启动模拟。
  • [ ] 用户可以看到一个包含文本框的订单队列区域,显示正在等待下单的客户数量。
  • [ ] 用户可以看到一个包含文本框的订单区域,显示当前正在处理的订单号。
  • [ ] 用户可以看到一个厨房区域,包含一个显示正在准备的订单号的文本框和一个文本框,按顺序列出等待订单,并显示等待订单的数量。
  • [ ] 用户可以看到一个取餐区域,包含一个显示当前可供顾客取走的订单号的文本框和一个文本框,显示服务队列中等待的顾客数量。
  • [ ] 用户可以在任何时候通过点击停止按钮来停止模拟。

额外功能

  • [ ] 用户可以指定订单领取者创建订单票所需的时间。
  • [ ] 用户可以指定服务器将订单交付给顾客所需的时间。
  • [ ] 用户可以在点击开始按钮后指定模拟运行的总时间。
  • [ ] 用户可以看到顾客和订单在他们通过工作流程移动时的动画视图。

有用链接和资源

示例项目

  • N/a