May 1 2021
  • Project title

    BYOD Ordering System

  • Group name


  • Sheridan program name

    Computer Systems Technology - Software Development and Network Engineering

  • Release Date


  • Project Description

    Our project is a web application that allows the restaurant owner to maintain and manage their Menu through our online platform, it also allows the consumer to place the order to use their device. The purpose of our application is to bring convenience, time-saving and environmentally friendly to the catering industry.

    The application was divided into two major components, a management portal and a consumer order platform. Our main target customer will be small to medium restaurant business. The management portal is designed for our clients to upload and modify their menus. Moreover, it also allows the user to monitor incoming orders instantly. The menu list displays on the order platform are depending on the menu item that the client had uploaded on the management portal. The management portal can also generate individual QRcode for each table which allows the consumer to scan and access the order platform. Which will be the only way to access the order platform.

    We have ASP.NET Core Web API as our back-end and Single Page Application developed using Angular framework as our front-end. We use EntityFramework Core to simplify the database access code. We have implemented OAuth 2.0 and OpenID Connect protocols for authentication. And the identity server as the authentication endpoint. This ensured our API resources are protected from malicious use. We use password hashing-function to avoid storing user passwords as plain text in our database. We use Redis to cache hot data and improve our system performance. We use websocket to synchronize data between server and client and improve the responsiveness.

    During the current stage, our team had accomplished the Order Monitoring function, Online Menu System, and consumer order platform and some minor functionality. We had completed the application deployment to the server, and most of the time the application runs without error. However, there are some additional features that our teams would like to implement to further accomplish our application. We are planning to build a privilege management portal that allows the super admin to modify the privilege of different roles. Moreover, we would like to add an ad-hoc report function and table monitoring function to allow our client to better manage their business.

  • Project background/history

    The idea of the project came from the group discussion in the course "INFO 33551G Innovation: From Idea to Execution". We brainstormed some ideas and analyzed them with the tools learned from that course, like business planning/modeling and market research/planning. We finally selected the BYOD ordering system as our capstone project mainly because we thought the QR code is interesting and the digital menus are also becoming more and more popular on the market.

    Almost the same time in the last term, we started to develop a prototype of the project in the course "PROG 39599 Advanced Java Frameworks". For the prototype, we used Java frameworks and demonstrated the design of database models and the main features, like QR codes generating, menu system and ordering system. In order to learn and practice C sharp technology stacks, this term we started to develop the project from the beginning using .Net Core technologies. We redesigned the architecture and separated the development of the front end and the back end.

  • Website URL
  • Project features

    • Online Menu System – Modify your menu through our portal
    • Order Monitoring – Instansntaneously received notification of incoming orders.
    • Table Monitoring – Allow user to locked the table. Instansntaneously received notification of incoming orders.
    • Consumer Order Platform – Consumer can use thier own device to place the order
    • QR code – easy access to our consumer order platform.
    • Simultaneous Order from same table – Multiple user can join the same table and view the menu item simultaneously.
    • Dashboard – Display Data Analysis and Visualization

  • Additional information

    We are a dynamic group. We are passionate about the forefront of the latest and greatest in technology, we continuously expand our knowledge. Being good at doing research, organizing, management and cooperation, we try different new things and ideas and love to share our knowledge with each other. You can see high team efficiency and productivity in our group.

    We are proficient in C# programming language and ASP.NET framework. We are capable of full stack development within ASP.NET technology stack. We have agile development experience and are familiar with version control. We have experience in system administration on both premise server and cloud platform. We are good at data analysis and abstract solutions to resolve problems. We are efficient at data manipulation and database administration. Our product has the potential to scale up to high availability and high performance.