Skip to content

davidwmartines/work-queues

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Work Queues

Demonstrates a full-stack JavaScript application.

Frameworks / technologies used:

  • UI
    • React
    • Redux
    • websocket (native)
  • API
    • Node.js, Express
    • JsonWebToken (jwt) authentication
    • Redis
    • websocket (ws)
    • messaging (amqp-bus)
  • RabbitMQ
  • Micro-services

What it does

This is a generic, multi-user Work Queue (i.e. a glorified To-Do List), that could be applicable to a variety of domains.

Users are associated to one or more Groups.

Administrator creates WorkItems, associating them to Groups.

As WorkItems are created, users who are logged in will see the new WorkItems appear in their list (websocket push), if the WorkItem is associated to one of the user's assigned Groups.

A user can claim WorkItems as their own. When a user claims a WorkItem, any users who also have the WorkItem in their list will see it become claimed (again, websocket push). Likewise, users can complete as well as un-claim WorkItems, and other users should see these changes in the list as they happen in "real" time.

Architecture

The workflows are primarily driven by an asynchronous event model. As state changes, events are published. Subscribers handle events. A Notification service uses special, user-specific event messages to notifiy the all the active UI clients.

About

Full-stack JavaScript demo project 🚧

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published