Post Project
  • Search
    • Buyers can
    • Search offers to buy now
    • Search freelancers to request a proposal
    • Freelancers can
    • Search projects to quote on
  • How it works
  • Log in
  • Sign up
  • Freelancer?
Browse by Category
    Technology & ProgrammingWriting & TranslationDesignDigital MarketingVideo, Photo & ImageBusinessMusic & AudioMarketing, Branding & SalesSocial Media

    Queue management system backend.

    - or -

    Post a project like this
    26/02/2015
    $$
    • Posted: 8 years ago
    • Proposals: 3
    • Remote
    • #671615
    • Expired
    Amaneet B.Mohamed A.Gr D. have already sent a proposal.
    • 0
    • 0

    Description

    Experience Level: Intermediate
    Estimated project duration: More than 6 months
    General information for the business: Queue Management solutions
    Description of requirements/functionality: This is a queue management system (like the ones that operate on banks).
    The concept is simple, clients can (instead of waiting in a line) request queue tickets through their mobile device, or through our website.
    The server will be running on small mini pc in each bank branch we put it, and will be able to issue tickets to both remote clients and local (physically) clients through a button device. There will be some realtime functionality, but I believe what I'm looking for here is a secure API.

    The project is made of 3 parts:

    1) The client (wether that is through a mobile app, or website)
    2) User management server - that keeps track of the user database (payments etc) and talks with our mobile app. (Probably a Rest server)
    3) Queue management server that runs on mini pc on each bank.


    Now, ABOUT (3):
    Informative:
    - The code will run on a raspberry pi or some other similar mini pc
    - There will be a button device (hardware) that runs code when pressed. (This will be created by me - I'm just saying it here for informative reasons)


    Functionality I want implemented:
    Queue management system that:
    - Starts from 0 each day and keeps incrementing with each client that requests a ticket (lets call that number the current ticket number or CTN):
    -- A ticket can be issued to each client that requests it (wether that be through a mobile application or through one of the button devices).
    -- If a ticket is requested remotely, we make sure that the user management server (2) allows us to proceed in issuing this ticket (has the user payed?)
    - It keeps realtime connection with clients providing them with the CTN (whenever the CTN changes on the backend, the clients gets the new CTN instantly).
    - Calculates the average waiting time and also notifies the clients instantly when that average waiting time (AWT) changes.
    - Allows a certain ammount of tickets to be held in the servers custidy and not be given away as normal tickets (VIP tickets)
    - Allows a remote client to cancel his ticket (in case he changes his mind)
    - Keeps some basic analytics like:
    -- how many users today?
    -- how many of them through mobile app?
    -- how many of them through the hardware device locally (button device)?
    -- how many of them left without using their ticket?
    -- how much (average) time did it take for a user to get bored and leave without using his ticket.
    and submits this data to our user management server (2) at the end of the day.

    Things to keep in mind:
    - Each user must be able to get 1 and ONLY 1 ticket before it expires (then he can get another if he wants to).
    --Thus we must check our user management server (2) on wether the current user has requested another ticket before issuying this one.
    - Security is an issue, we don't want users getting tickets remotely from our api for free.
    - The backend will be talking with:
    --our user management server (2)
    --many mobile app clients
    --one local hardware device (button device) - which may be the same device the queue management server is running on
    --a website (which must also be able to display the CTN, AWT, and request a ticket)
    -in the future sms or calls might be a way to get tickets as well.

    Scalability is a must.
    I prefer node.js but I'm not sure this is the best tool for this job.
    Also, I'm open to suggestions of how this could work in a better way, or perhaps something I might be missing here. If theres a better scenario I'm all ears.
    Specific technologies required: node.js
    Extra notes:
    Giannhs K.
    Giannhs K.
    0% (0)
    Projects Completed
    -
    Freelancers worked with
    -
    Projects awarded
    0%
    Last project
    2 Feb 2023
    Greece

    New Proposal

    Login to your account and send a proposal now to get this project.

    Log in

    Clarification Board Ask a Question

      There are no clarification messages.
    26/02/2015
    $$

    - or -

    Post a project like this
    Giannhs K.
    Giannhs K.
    0% (0)
    Projects Completed
    -
    Freelancers worked with
    -
    Projects awarded
    0%
    Last project
    2 Feb 2023
    Greece

    Related project Searches


    database management abstract window toolkit (awt) application programming interface (API) back end developer mobile applications node js

    Product

    • About
    • Team
    • Careers

    Support

    • How it works
    • Trust & Safety
    • Help Centre

    Discover

    • GuidesStoriesNews

    Resources

    • Customer Stories
    • Business Cost Calculator
    • Startup Cities

    Browse

    • Freelance Services
    • Freelance Services By Country
    • Freelance Skills
    • Terms
    • Privacy
    • Sitemap
    • Company Details
    • © 2023 People Per Hour Ltd
    We collect cookies to enable the proper functioning and security of our website, and to enhance your experience. By clicking on 'Accept All Cookies', you consent to the use of these cookies. You can change your 'Cookies Settings' at any time. For more information, please read ourCookie Policy
    Cookie Settings
    Accept All Cookies