Find Jobs
Hire Freelancers

Add cache and simple admin interface to existing Wordpress plugin.

$250-750 USD

Anuluar
Postuar about 5 years ago

$250-750 USD

Paguhet në dorëzim
Plugin modification freelance. We have this 16 line plugin that fetches data from Google Sheets and shows on our site using a shortcode. I ------- function sheet_value_shortcode($atts) { $API = '[Insert API Key Here]'; $google_spreadsheet_ID = '[Insert Google Spreadsheet ID Here]'; $api_key = esc_attr( $API); $location = $atts['location']; $get_cell = new WP_Http(); $cell_url = "[login to view URL]$google_spreadsheet_ID/values/$location?&key=$api_key"; $cell_response = $get_cell -> get( $cell_url); $json_body = json_decode($cell_response['body'],true); $cell_value = $json_body['values'][0][0]; return $cell_value; } add_shortcode('get_sheet_value', 'sheet_value_shortcode'); ------- It is based on this page: [login to view URL] Problem: Every time the shortcode is called, it takes about 1s for the API call. So if we display 10 values, it will add 10s to the page loading time in the development environment. The is not a problem in production because the entire page is cached through Jetpack. The job: Fetch, cache results, and make a simple admin interface. Requirements: - We will use the shortcode when we want to output the value in a google sheet cell. - We have a Google sheet with named ranges and values. For example, cell A2 is named "bitcoin_price" and has the value of $3500. - Fetch the sheet from Google Sheets every X minutes. - Loop through the named ranges and cache the values, so that subsequent calls [dcdata name="bitcoin_price"] do not make another API call and are retrieved from cache. - make a simple admin interface as the attacked mockup. - We use named ranges, so instead of [get_sheet_value location="B2"] we use [dcdata name="named_range" source="source_name"] - if source is omitted, use the source configured as DCDataSource (see mockup) [dcdata name="named_range"] will get the named_range value from the source configured with name DCDataSource name = name of the named range we defined in the Google Sheet. source = source name we defined in the admin (see mockups). The source name links to the spreadsheet ID and API key. When replying to this project, please mention what form of caching you would use and why. Thanks.
ID e Projektit: 18646102

Rreth projektit

9 propozime
Projekt në distancë
Aktive 5 yrs ago

Po kërkoni të fitoni para?

Përfitimet e ofertës për Freelancer

Vendosni buxhetin dhe afatin tuaj
Paguhuni për punën tuaj
Përshkruani propozimin tuaj
Është falas të regjistrohesh dhe të bësh oferta për punë
9 freelancers are bidding on average $520 USD for this job
Avatari i Përdoruesit
Hi there, I have checked the details I have rich experienced with Javascript, MySQL, PHP, Software Architecture, WordPress. Please initiate chat so we can discuss this job.
$555 USD në 10 ditë
4,9 (99 përshtypje)
8,0
8,0
Avatari i Përdoruesit
Hi there, I've gone through the post description carefully and ready to start work on this project. Requirements are very clear but please come over the chat so that i can get more requirements if remaining. Please visit my portfolio here- https://www.freelancer.com/u/seemasit My Expert Skills are here: Javascript, MySQL, PHP, Software Architecture, WordPress Thanks Seema-P
$555 USD në 10 ditë
4,6 (84 përshtypje)
7,2
7,2
Avatari i Përdoruesit
Hi there, Please correct me if I'm missing anything or wrong about it entirely. The plugin's current functionality will be retained so you'll keep using get_sheet_value and it'll work the same way. Additionally, you'll be able to define data sources that'll be updated regularly. When you use [dcdata_name="named_range" source="source_name"] the plugin will get the value from cache. The only thing not clear is DCDataSource. Is it a combination of spreadsheet ID and API key? Like if id is "spread_id" and api key is "api_key" is it supposed to be "spread_idapi_key"? I can see that it's supposed to be used more like a table name to find the value so that when you ask for [dcdata_name="my_field" source="my_source"] the plugin will look for value under my_field field on my_source table. I can't see anything about it in the mockups, if you can elaborate on this it'd be great. If you have serious traffic, scalability concerns and rather big data we can use redis or memcached but I think that'd be overkill. I think mysql memory table, as long as the dataset is not huge, is cut out for this job. That's a typical single producer multiple consumer situation and we don't need to preserve the data since it's not the definitive storage. Still, if you have something else in mind we can discuss. Anyway, I am planning to use php7.2 for the development. If you have a specific php version you want me to target please let me know. I expect this to be ready in a week, thanks.
$700 USD në 7 ditë
5,0 (41 përshtypje)
6,1
6,1
Avatari i Përdoruesit
Hello, I can implement this functionality as a new plugin that incorporates the UI you described in the attached images. For the caching engine, I could use the existing MySQL server, by creating a new table to save the records in, or a separate SQLite db, or even flat file caching. If you have a dedicated server, I could install a redis or memcached caching server and use that. I hope we can chat about what option would fit this project best. Thank you.
$400 USD në 5 ditë
5,0 (79 përshtypje)
6,2
6,2
Avatari i Përdoruesit
Customer's satisfaction is my goal *** *** Also 100% Completion is happy of me and client. *** *** Rest is my creative idea and honest effort. *** Looking to be your Good Venture along with your project! Best Regards.
$555 USD në 10 ditë
4,1 (22 përshtypje)
4,9
4,9
Avatari i Përdoruesit
Dear sir I am Worpress developer, HTML coder and in some cases designer. I set up many websites using Wordpress, Drupal and Joomla. I like Wordpress very much!!! Clients of Wordpress websites always asked a lot of customization for purchased templates, so I did much work to adjust sites for their requirements doing PHP programming for e-mail subscriptions, pop-ups alerts, not standard registration forms and complicated pop-up menus. All sites were responsive adopted for Win, MAC, iPhone, iPad, Android and Windows Mobile devices. Which of the required job skills do you feel you are strongest at? - I feel 100% confident to accomplish this job in time, with high quality and following all your requirements even if they are too specific or complicated. Which part of this project do you think will take the most time? - The easiest part is to setup wordpress and launch site as is it can be done for 5 minutes. The most difficult is to apply changes if they beyond the theme customization options. I feel excited to get this job. My rate can be adjusted, so I mostly work for getting feedback. I am very flexible in working time and communications. I can follow all your requirements and can advice good solutions to accomplish this job effectively and with the minimum budget. Waiting to hearing from you Sincere, Sharna
$555 USD në 10 ditë
0,0 (1 review)
0,0
0,0

Rreth klientit

Flamuri i UNITED STATES
Las Vegas, United States
0,0
0
Anëtar që nga shk 2, 2019

Verifikimi i klientit

Faleminderit! Ne ju kemi dërguar me email një lidhje për të kërkuar kredinë tuaj falas.
Ndodhi një gabim gjatë dërgimit të email-it tuaj. Ju lutemi provoni përsëri.
Përdorues të regjistruar Punë të postuara
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Po ngarkohet shikimi paraprak
Leja u dha për Geolocation.
Seanca e hyrjes ka skaduar dhe ke dalë. Hyr sërish.