Coder Social home page Coder Social logo

brianlaihkhk / sample-online-queue Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 1.98 MB

Coding Sample - Online Queue | Client + Queue waiting + Order submission | AWS and Docker solution | reactJs + Python3 + AWS Lambda + SQLAlchemy + RDBMS

Shell 4.70% Python 52.17% HTML 3.82% JavaScript 36.87% CSS 1.58% Dockerfile 0.87%
reactjs python python3 serverless-framework serverless aws-lambda aws-cloudformation sqlalchemy-orm sqlalchemy unittest

sample-online-queue's Introduction

Coding sample

Coding sample - Online queuing system - Submitted by Brian Lai

Features

  • Order + queue system
  • Support local / non-AWS deployment or AWS Lambda deployment for distributed system
  • Session based token for queuing
  • JWT for message submission using Authorization header
  • ReactJs for client side, queue waiting and send order after finish queuing
  • Docker and serverless support for backend service

Framework

  • [Client]
    • reactJs
    • react-scripts / jest
    • jwt-simple
  • [Order + queue system]
    • SQLAlchemy orm
    • PyJWT
    • pymysql
    • unittest

Folder

  • Unit Test : Functional unit test code
  • Test Data : Data for testing in endpoints
  • Order : Order with online queue system using Python for AWS Lambda serving
  • Client : Client UI for online queue waiting and place orders after queuing
  • Setup : Setup script for database initialization
  • Deploy : Deployment script for Serverless framework
  • Tools : Tools for encryption (in env-prd.yml), encoding for testing
  • Documentation : Documentation
  • Screenshot : Application screenshot

Prerequsite

  • For more details please refer to Documentation folder

  • [AWS solution]

    • AWS IAM (Permission setup)
    • AWS VPC (Network connection capability)
    • AWS RDS MySQL (or equivalent)
    • AWS Lambda
    • Serverless (for AWS Lambda deployment)
    • npm, pip3
  • [non-AWS solution]

    • MySQL (or other SQL database for OLAP)
    • npm, pip3
    • Docker
    • (Optional) Docker swarm, Kubernetes or equivalent (For container orchestration)

Technical Assessment Requirement

  • Client and Backend are required to show queuing system is in function
  • Provide time estimation of the queue, current position for waiting
  • Support high volume of queuing users
  • Can use local or in-memory repository
  • Calls and creditals should be secured
  • Logging / documentation and testing are expected as part of the solution.

Time limit

  • 48 hours

Remarks

  • Using cryptography / cryptocode / simple-crypt will show invalid elf header in AWS Lambda (Under osx development). This project will use JWT for configuration encryption and decryption.

Contact

sample-online-queue's People

Contributors

brianlaihkhk avatar

Watchers

 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.