Create a program for drivers as a streak reward in node.JS

Posted 2 hours ago

Worldwide

Summary

Create the backend logic for Monochrome driver streaks. A streak is an incentive campaign requiring a driver to meet one or more daily targets for consecutive days within a defined campaign period. Supported targets may include completed trips, ratings, acceptance rate, online time, completed shifts and earnings. Each campaign must have a start date, end date, daily start and end time, city timezone, base reward and reward multiplier. Only activity completed inside the correct daily time window counts. The backend must evaluate every driver’s qualifying activity separately for each campaign day. It must retrieve only activity occurring within that day’s permitted hours, calculate the relevant targets and determine whether all requirements were met. Completed-trip targets must use completed trips only; ratings must relate to qualifying trips; acceptance rate must compare accepted requests with total requests; online sessions must be added together; earnings must come from qualifying completed trips; and a shift must be both accepted and completed. If several targets apply, the driver must satisfy all of them. Partial completion is a failure. Every successful consecutive day should advance the driver’s current run and increase the reward using the configured multiplier. If the driver fails a day, the current run ends, the driver keeps rewards earned for successful days and any outstanding payout is processed. If the campaign remains active, the driver may begin a new run on the next eligible day, starting again from Day 1 and the base reward. The system must support multiple runs within one campaign and prevent any reward from being paid twice. The backend must store the campaign status, current run, current run day, today’s progress, whether today has been completed, current reward, next projected reward, total earned, payout status and the reason for any failure. It must retain an audit record of every daily evaluation and perform calculations using the campaign city’s timezone. The mobile applications must not calculate streaks; they should only display the progress, rewards and statuses returned by the backend. this task will be easier than it may seam as the backend is already prepared and program will intergrate into a well structured project. Full doc: https://docs.google.com/document/d/1GjUsQYLn4znRdXnoQMHiyMTKxLrQSG_wYJamaqUSOI4/edit?tab=t.0#heading=h.of3uiockazpu

  • $100.00

    Fixed-price
  • Intermediate
    Experience Level
  • Remote Job
  • One-time project
    Project Type
Skills and Expertise
Mandatory skills
JavaScript
Node.js
Activity on this job
  • Proposals:15 to 20
  • Interviewing:
    0
  • Invites sent:
    0
  • Unanswered invites:
    0
About the client
Member since May 19, 2024
  • United Kingdom
    4:43 PM
  • $7.6K total spent
    35 hires, 5 active

Explore similar jobs on Upwork

Internet Radio Metadata Expert NeededFixed-price‐ Posted 1 month ago
PHP
REST API
API Integration
SHOUTcast
Node.js

How it works

  • Post a job icon
    Create your free profile
    Highlight your skills and experience, show your portfolio, and set your ideal pay rate.
  • Talent comes to you icon
    Work the way you want
    Apply for jobs, create easy-to-by projects, or access exclusive opportunities that come to you.
  • Payment simplified icon
    Get paid securely
    From contract to payment, we help you work safely and get paid securely.
Want to get started? Create a profile

About Upwork

  • Rating is 4.9 out of 5.
    4.9/5
    (Average rating of clients by professionals)
  • G2 2021
    #1 freelance platform
  • 49,000+
    Signed contract every week
  • $2.3B
    Freelancers earned on Upwork in 2020

Find the best freelance jobs

Growing your career is as easy as creating a free profile and finding work like this that fits your skills.

Trusted by

  • Microsoft Logo
  • Airbnb Logo
  • Bissell Logo
  • GoDaddy Logo