I'm a stubborn problem solver who strives to use my powers for good. As a coder, DJ, and musician, I believe that creating things, both useful and artful, is the driving force of humanity. I currently live and work in Austin, TX.
A Reddit clone that serves as my first Ruby on Rails project created alongside my mentor at bloc.io using various pair programming techniques and a Rails fundamentals curriculum.
I developed this project with Test Driven Development using RSpec. Alongside learning to implement different polymorphic Active Record Associations and standard Rails techniques, I also learned to write an user authentication module from scratch and created a simple, RESTful JSON API for the project.
Ruby on Rails, RSpec, TDD, JSON, RESTful API, Bootstrap
Taut is a Slack replica developed using Angular.js with three-way data binding to Firebase. Firebase is a great server-side database alternative provided for SPAs by Google. It allows your site to run client-side while providing a secure database for memory persistence. Angular hook ins were provided by Angular Fire.
Wikibloc is a Ruby on Rails app that allows users to create and share wikis in public environment, as well as create private documents via a premium membership.
The main challenge with this project involved user management, permissions, and scoping the correct wikis to users depending on their status as owner, premium user, or collaborator. For this I integrated three third-party APIs - Devise, Rolify, and Pundit - to implement these features.
The second challenge involved charging customers to become premium user. To solve this, I decided to use the Stripe gem and API. Stipe's API made integrating a charging portal simple and safe, and their documentation is thorough and easy to access.
For the main index page, I decided to implement my first search and filter function to make the index of public wikis a little less unwieldy for users. I set up a simple Postgres query to allow the user to further filter their scoped wikis by searching for a desired keyword or topic. The search is case agnostic and searches both the title and the body for the given words or phrases.