wiki:WikiStart

Welcome to CaneyPUGgies!

Learn web programming with CaneyPUGgies

If you would like to learn web programming and have very strong computer skills, come join the Caney Python Users Group (CaneyPUGgies) 5-7 PM Mondays (bring a sack lunch) at Starbucks on Frank Phillips Blvd in Bartlesville, OK. At CaneyPUGgies we're 1) teaching ourselves framework-style web programming using CouchDB and Node.js by 2) producing a working open source web application named  Reformed Churches Locator. Membership is free. Your costs are your time, a wireless laptop computer with 3+ GB RAM, and a Ubuntu installation either on your computer or a  32+ GB bootable flash/USB drive. Your reward is that after a year of dedicated effort you may be able to earn money as a web programmer. Both beginners and experts are welcome.

We're using cutting-edge web programming tools and techniques you could use to make your own Twitter or Facebook. The group draws on the experience of Tim Black, pastor of Caney Orthodox Presbyterian Church, who has worked as a part-time web programmer for 13 years. Our hope is CaneyPUGgies will give more people a reason to live and work in Caney, and perhaps even start a new industry here.

Here are some of the technologies we are using:

  • General application structure:
    •  JavaScript, the ubiquitous scripting language of the web, useful in any web application
    •  Hoodie to create single-page web applications written entirely in the JavaScript programming language. Hoodie's offline-first nature and (mostly) one-tier architecture is simpler than the older three-tier architecture in which most web applications have been written until recently, and this simplicity makes it possible to write applications more quickly than in rapid web application frameworks like Ruby on Rails. Hoodie permits most of our application code to be run on the client side, makes the app multi-user, and makes the app respond more immediately to user interaction, with less waiting for data to load over the network.
    •  Backbone.js, a JavaScript web application framework which encourages current best practices such as separating code into distinct model, view, and controller sections to make it more maintainable in the future, and creating reusable widgets to speed interface development, and it provides event routing & search-engine-friendly URLs.
  • Database & data models
    •  CouchDB as a NoSQL database which supports master-to-master replication
    • Backbone.js, backbone-relational, and backbone-couchdb, described above
  • View templates
    •  Mustache templates to allow web designers to easily modify the application's layout
    •  Bootstrap a visually attractive AJAX/JavaScript user interface toolkit
    •  JQueryUI for anything Bootstrap doesn't provide
  • Server-side scripting
    •  Node.js for server-side code. All server-side code is in JavaScript, so some code can be shared between the client (web browser) and the server.
  • Application lifecycle management
    •  Chrome Developer Tools as an excellent web development IDE
    •  Jasmine unit tests to automate testing the application's functionality and thereby protect against unnoticed feature regressions in the future, and encourage the best practice of test-driven development
    •  Git version control system
    • Continuous integration
    •  GitHub project management & collaboration system
    • and a number of other tools available in Ubuntu that are useful for web development

For more information, contact Tim Black at (620) 306-1507,  pastor@caneyopc.org, or come to a CaneyPUGgies meeting.

How you can get involved

Pointers to helpful documentation

Attachments