Kele is a Ruby Gem that allows users to access Bloc’s REST API. Developed in the winter of 2017, I aimed at creating a gem that accessed the Bloc’s API in order to deepen my understanding of gems, API clients, and data manipulation (including JSON data).
Techtannica is a Rails based application that allows users to create public or private wikis (based on membership credentials). If a standard user wishes to create private wikis and allow for collaboration with other users, there is an option to upgrade for a small fee (through stripe).
This application deepened my knowledge of user authentication (with devise gem) and authorization (with the pundit gem). I also gained a stronger understanding of Active Record and data manipulation through querying.
I used firebase as the database, which stored various data such as user generated chat rooms and messages. To access the database, I developed a factory that defined all room related API requests and created a reference to the firebase database. After developing the rooms, I went on to create a message factory that defined all message related API requests. One challenge I faced was that all messages depended on what room the user was currently in. After some research I found that the best solution was to use Firebase’s
equalTo() method which allowed me to query the database and link the message to the room id in which the user was currently in.
Before a user is allowed to enter the website, they are required to create a user name. Cookies proved to be the most appropriate method to store the user’s name. Angular modules have a
run() block which get executed after the injector is created and are used to kickstart the application. This
run() method was used to insure that the application would not start until the user stored a username in the browser (with cookies).
I used several Angular service recipes to share data and behavior across several components. Along the way I used a git repository to store my work. You can view the project here.
In the summer of 2017 I developed a digital music player called Bloc Jams, which has similar functionality as Spotify. This project was the first frontend web development project in the Bloc curriculum and gave me a solid conceptual foundation to develop and deploy a responsive frontend web application.
Bloc Jams culminated and pushed my problem solving and coding experience thus far while giving me a greater understanding of how different pieces of a web application fit together.