Text Yourself the NASA Picture of the Day with Standard Library and Node.js

eileenzhong

Eileen

Posted on October 18, 2018

Text Yourself the NASA Picture of the Day with Standard Library and Node.js

The APoD for 10/16/2018: Jupiter in Ultraviolet from HubbleMe

Me: The sky is not the limit ☁️
Stranger: Pics or I don't believe you 🙄
Enter fullscreen mode Exit fullscreen mode

Based on the above conversation, I'm going to show you how to get NASA's highly coveted Astronomy Picture of the Day (APoD) with Standard Library 🌑 ⭐️ 

If you're not familiar with Standard Library, we're a serverless platform that enables everyone (yes, everyone! Calling all PMs, designers, marketing teams, sales people, oh and engineers… 🙋) to build, ship, and integrate scalable APIs in a matter of seconds. With the help of our online text editor, Code.xyz, you can do all of this right from your browser.

Requirements

Standard Library account (free)
NASA API key (free)

Standard Library provides a plethora of API templates that are readily usable. In order to retrieve the APoD API template, go to Code.xyz and search for astronomy-picture-of-the-day by @eileenzhong 💁

APoD template

Name your API:
Name your API

One last step before sending the APoD to your phone!

You'll need to properly configure the env.json file. You'll notice that there are two sets of variables; however, we will be deploying our code to the dev environment, so we will only need to provide the dev variables.
First, insert your Standard Library library token (STDLIB_LIBRARY_TOKEN):

Right click to access this context menu

Then, insert your NASA API key. When finished, your env.json file should look like this:

Completed env.json

That's all the setup you have to do! 

To run the program, click "Debug" to bring the parameter input area into view. Enter your phone number, including the country code:

Don't forget the country code!

When you click "Run", you'll receive NASA's astronomy picture of the day! 🚀

That's not even the coolest part. 

We don't want to click "Run" every single day to get this text delivered to our phone. Thankfully, Standard Library has a task scheduler where you can customize a schedule to automagically invoke your newly created API. 
In Code.xyz, click the "Tasks" tab. You can then enter a phone number and customize a schedule to your liking:

Create a scheduled task for your API

Suggestion: schedule the task to execute once a day since APoD is an acronym for astronomy picture of the day, and hence, the picture won't change throughout the day.

When you're happy with the settings, click the blue "Schedule Task" button to schedule your API.
That's it! If you know one ☝️, two ✌️, or five 🖐 other people who would appreciate a daily astronomy picture, you can schedule a different task (one for each phone number) for all of them. 


Bonus section

If you've made it this far, you deserve a reward 🌈 Now, don't get too excited (actually - do get excited 🙃). With just 2 more lines of code, you can send your friend a random quote along with the APoD!

APoD and a random Paul Jacques Grillo quote

We'll be using WordPress's API to pull a randomized quote: http://quotesondesign.com/wp-json/posts?filter[orderby]=rand&filter[posts_per_page]=1

Don't worry about all the RegEx (regular expressions) sitting on line 12. The WordPress API just returns some HTML tags that won't play nicely in an MMS 📱

Alternatively, you can just replace the value of the quote variable with any chunk of text you'd like to send your friend: const quote = "Hi friend."

Questions, comments, ideas? Feel free to email me at eileen@stdlib.com! I'd love to hear about your next project with Standard Library and Code.xyz.


Eileen is a software engineer at Standard Library.

💖 💪 🙅 🚩
eileenzhong
Eileen

Posted on October 18, 2018

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related