Skip to content

Latest commit

 

History

History
117 lines (81 loc) · 1.94 KB

README.md

File metadata and controls

117 lines (81 loc) · 1.94 KB

timder-matchmaking

Provide queue of users for swiping

Roadmap

View the project roadmap here

Contributing

See CONTRIBUTING.md for contribution guidelines.

Table of Contents

  1. Usage
  2. API Usage
    1. Input
    2. Output
  3. Requirements
  4. Development
    1. Installing Dependencies
    2. Tasks

Usage

API Usage

Input

Request will happen with one of two unique keys

{
  user_id: STRING,
  location: STRING
}
  • user_id Current swiping user. Request made when queue on client side depleted.
  • location Current swiping user's zone string.
Example Queue Request Parameters

Get new swipe queue for user with ID #7443 and location "Zone A"

{
  user_id: 7743,
  location: 'A'
}

Output

[
  {
    user_id: INT,
    name: STRING,
    photoCount: NUMBER,
    location: STRING,
  }...
]

The return user objects have been built to include information irrelevant to the MVP, for future expansion opportunity

  • name The user's name
  • photoCount The user's photoCount. The only factor distinguishing one user from the next in queue in this simulation
  • location Which zone the user is located in

Requirements

  • Node 6.9.x
  • Postgresql 9.6.x
  • express 4.16.2
  • faker 4.1.0
  • mocha 4.0.1
  • chai 4.1.2
  • pg 7.3.0
  • pg-hstore 2.3.2
  • sequelize 5.15.0

Development

Installing Dependencies

Run npm install

Tasks

Simulation

  • Simulate user logins
  • Simulate user swipes
  • Simulate user logouts

Monitoring/Testing

  • Time for queues to form
  • Space for queues saved
  • Time for hashes gathered
  • Errors logged out into log directory

Other Information

Schema

Queues

Redis Lists

Users

Redis Hash

Swipes

Redis Set