GithubHelp home page GithubHelp logo

miguelramosfdz / votr-part5 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from crtr0/votr-part5

0.0 2.0 0.0 4.97 MB

Part 5 of a realtime SMS/Voice voting application powered by Node, CouchDB, AngularJS and Twilio

JavaScript 87.20% HTML 10.86% CSS 1.38% Shell 0.56%

votr-part5's Introduction

#Wrapping Up Votr: AngularJS and CRUD with RESTful APIs

This is the companion repo for the fifth and final part in a series of blog posts about building a real-time SMS and voice voting application using Node.js. It’s been illuminating to walk through the process of building an app that I needed using technologies that I was new to. Let’s take a moment and recap where we’ve been.

In part one, we created the Node application and captured incoming votes over SMS and stored them in a CouchDB. I chose to use Express as the web framework and Cloudant and my CouchDB provider.

In part two, we created a real-time visualization of the voting using Socket.io and Highcharts. As votes came in a bar chart depicting the current state of the vote would update in realtime. For my purposes (live SMS voting at events) this was my MVP product. But, at larger events I ran into some nasty scaling issues.

In part three, we tweaked our app to scale to thousands of votes per second and millions of total votes. This was accomplished by being smarter about how we stored our documents and leveraging CouchDB’s map/reduce capabilities.

In part four we began adding an web front-end for admins using AngularJS. We got added AngularJS to our project and implemented a login and logout flow. I showed you the end-to-end flow of how log-in works: user fills out a form, AJAX request is made to the Node server, HTTP request is made to CouchDB, and the result of the operation is returned up the stack.

The last thing for us to do to complete this admin portion of the application is to use AngularJS to create a simple CRUD interface for the events in our CouchDB. We’re going to focus on the AngularJS code and templates that we’re going to write to edit our event documents. We’ll finish with a brief run-through of the server-side code. But for now just assume that we’re working with a RESTful API, just like in the authentication scenario in Part 4.

Meta

  • No warranty expressed or implied. Software is as is.
  • MIT License
  • Brought to you by Twilio Seattle

votr-part5's People

Contributors

crtr0 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.