Nucleoid is a web application bundled with some scripts to build a low cost pay as you go cellphone in the cloud.
Nucleoid is written in Ruby, uses the Sinatra framework, ActiveRecord to store persistent data / settings and RSpec for testing.
- Install ngrok (somewhere in your PATH)
- Setup a twilio account and get a phone number. You need: account_sid, auth_token and your phone number's sid
- Create a .env file from the env.example file and fill in the values from step 2
- Run
rake db:migrate
to create the database - Start the development server
bundle exec rerun rackup
Once the development server is started this will update the twilio phone number settings with ngrok's url and the phone number should work.
Since the app doesn't have a front end yet. Configuration of the application is made by sending posts to URI's.
The simplest way to do this is using Postman
post APP_HOST/config/:name
value=something
Upon installing you probably want to configure a forwarding number.
Send a post request to APP_HOST/config/FORWARDING_NUMBER value=+15551234567
APP_HOST/configs.json
Send a post request to APP_HOST/config/dnb
with value=[true|false]
- Continous Integration / Testing
- Sending message to email that have been caught during Do not distrub mode
- Some sort of a front-end (maybe angular)
- Expiry of conversation numbers that are not being used (through a Rake task?)
- 1-click deployment to Heroku
- You're using rbenv
- You have an ngrok config file at '~/.ngrok2/ngrok.yml'
- You are running rack on port 9292