Skip to content

Data is expensive. We can help with that. Third Place winner (out of 73 submissions) at HawkHacks (https://devpost.com/software/nodata)

Notifications You must be signed in to change notification settings

ryanshepps/NoData

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Text

--help

to (705) 710-3709

Architecture

Stack

Node

Our server is written in JavaScript and ran on Node.

Twilio

We use Twilio to coordiante SMS sending and receiving.

RapidAPI

RapidAPI is used in conjunction with bing web search to get results for a search on the internet.

Docker

We use docker to containerize our app. Containerization allows us to streamline our deployment process.

Google Cloud

Our Node backend is deployed on Google Cloud using Google Cloud Run.

We also use Google Cloud's Secret Manager so that we don't expose our API keys.

Domain.com

We use a nodataa.tech domain internally. Our domain is registered with domain.com.

Sequence Diagram

Development

Simulating Production Build

Docker build -t . nodata
Docker run -p 3000:3000 nodata

Send your requests to localhost:3000.

Local Development

You probably won't need anything here. But we've left it so that you can see our local development process.

Setting up dependencies

npm ci

Running

npx nodemon index.js

Serving local app to the internet

Install ngrok, and follow their instructions for serving your local app to the internet. Keep in mind that the app is running on port 3000.

Sending Twilio requests to your server

You're going to need a Twilio account to set this up, then follow the steps below.

  1. Add a phone number for your acount.
    • Make sure to get a phone number that you can actually text. Our friend Geordy originally set us up with a U.S. phone number. We will not be participating in another hackathon with him.
  2. Configure the phone number to send a Webhook to https://your-ngrok-url/sms. Make sure it's a POST request.

RapidAPI Key

Unless you're set up to use our Google Cloud Secrets Manager, you'll need to create your own RapidAPI key to be able to search the web.

Enter this api key in the options object in src/bing-search.js.

Finished!

And that's it! You're done setting up for local development.

About

Data is expensive. We can help with that. Third Place winner (out of 73 submissions) at HawkHacks (https://devpost.com/software/nodata)

Topics

Resources

Stars

Watchers

Forks