Find Jobs
Hire Freelancers

Create a small node.js API server

$30-250 USD

Completed
Posted over 9 years ago

$30-250 USD

Paid on delivery
1 Overview This document describes the requirements for a simple node.js API server as well as the setup for a nginx load balancer for this solution. 2 General Requirements • Use the latest version of node.js • Use the latest version of nginx • The solution should work on Windows as well as CentOS platforms. The SQL create table statements and test data in SQL format will be provided. 3 Node.js Server Create a node.js server that will work on Windows and Unix platforms and has the following functionality. • At startup, select all rows from the MySQL ySHUTTLE table where status_id = 1. This will provide a list of valid access_codes. • The query result is stored in memory. • Create an API interface that can be called via HTTP or HTTPS. The API call will have the format for example http://localhost/api?access_code=1234&lat=44.4&lon=75.6 • The node.js server gets the access code from the url • The node checks if the access code is a valid code, meaning the code has to be in the list of access_codes retrieved from the database and stored in memory. In case the code is not valid, a HTTP Status 400 returned. • In case the code is valid, the node.js server inserts a record in the MySQL ySHUTTLE_LOG table with the following field: created date time stamp, lat and lon values (from the url). Please also create instructions on how to start and stop each node.js server as well as configure port. 4 Load Balancer Create step-by-step instructions on how to set up nginx as a load balancer for the node.js servers. The instructions should include the following: 1. Instructions for Windows and CentOs 2. How to add new node.js server instances 3. How to remove node.js server instances 4. How to determine the CPU load on each server instance 5. How to adjust the load that each node.js server instance should receive. PLEASE TRY THE STEP-BY-STEP INSTRUCTIONS OUT SO I CAN BE SURE THAT THEY WORK. :) THANKS!
Project ID: 7069567

About the project

4 proposals
Remote project
Active 9 yrs ago

Looking to make some money?

Benefits of bidding on Freelancer

Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs
Awarded to:
User Avatar
Hello, I should be able to do it in 3 days. The node.js part seem pretty straight forward, I've done similar job in the past, so it should not be a problem. l also I have setup ngnix as reverse load-balancing proxy in the past, including setting multiple nodejs (http) and apache (http and https) servers sitting on the same IP. There are limitations on ngnix under Windows (described in detail here [login to view URL]), so it may not be as fast on windows, but Linux should be fine. Load balancer can require most of the work on this project, as depending on your hosting and expected volume of requests there could be bottlenecks other than CPU: MySQL IO or CPU, number of open TCP connections between proxy and upstream nodejs servers, limitations of hosting. This seems very interesting project, will be happy to work on it. Thanks Alexei
$188 USD in 3 days
5.0 (5 reviews)
4.6
4.6
4 freelancers are bidding on average $198 USD for this job
User Avatar
Hello. I'm a programmer with about 9 years experience of web-development. The description (and task) is very clear. Code writing will take just few hours, more time will be needed for checking setup and writing instructions. Will be glad to work with you. Regards, Kamil.
$250 USD in 5 days
5.0 (2 reviews)
4.7
4.7
User Avatar
A proposal has not yet been provided
$155 USD in 3 days
0.0 (0 reviews)
0.0
0.0

About the client

Flag of UNITED STATES
Herndon, United States
5.0
8
Payment method verified
Member since Jan 6, 2015

Client Verification

Thanks! We’ve emailed you a link to claim your free credit.
Something went wrong while sending your email. Please try again.
Registered Users Total Jobs Posted
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Loading preview
Permission granted for Geolocation.
Your login session has expired and you have been logged out. Please log in again.