Chris Baptiste's Blog


A Venture Into Software Development

Adding Thunk Middleware To A React/Redux Application

My React/Redux Project: Zombie Apocalypse Tactical Packages

Today I finished my React/ Redux portfolio project. As the last portfolio project lesson put it, I earned every gym badge, defeated every boss, and wrestled with all of my inner demons to make it up to this point. For my project, I created an application that will prepare anyone for the zombie apocalypse. The name of my React/Redux application is Zombie Apocalypse Tactical Packages. For my first portfolio project, I created a CLI gem that scraped a couple of websites for the best firearms and melee weapons for surviving a zombie apocalypse. I decided that I wanted to incorporate the same theme into my final project not only because Im a zombie video game fanatic myself, but also as a manner to gauge my progress as a software developer from the start of the program up until where I currently stand.


Asynchronous Javascript Requests and a Rails API

My Rails with Javascript Application: Chris’s Cocktails

Overview of Completing the Application


Ruby Applications and Rack

What Is Rack?

Rack is what is happening behind the scenes in every application built using Rails, Sinatra, and any of the other Ruby frameworks. Rack is the layer between these frameworks and the application server. All web servers have a core architecture in common. By looking at it, we can build a mental model for how all web servers work. All of them look at an HTTP request and look at the HTTP verb and path and then run some conditional logic to find out which stuff to send back. In Ruby based applications, this process is handled by Rack.


Partials and Scope Methods in Rails

Introduction

Completing my Rails project has made me realize why rails is very popular among software developers and has given me a glimpse of some of its amazing magic-like capabilities. For my project, I decided to create a cocktail recipe tracker application. I had previously done a cocktail recipe tracker with my Sinatra Project and wanted to use the same concept with Rails in order to compare my experiences with both frameworks.

Partials

One of the things that I enjoyed doing the most during this project was incorporating partials in order to more effectively structure and organize my code. In Rails, a partial is a file that is part of a larger view. To indicate that this file is a partial, an underscore is prefixed to the filename. This file can then be rendered in within the code of a view page without having to re-write the code. For example, in my Rails application, there were various instances where I listed the collection of cocktail recipes. Rather than repeating this code throughout my views, I created a partial containing the code that displays a collection of cocktail recipes.


Sinatra: Implementing User Authentication with Bcrypt

Introduction

Designing a Model-View-Controller application and working with both the front and back end components was something that I was always looking forward to do at the start of my journey towards becoming a software developer. Getting exposed to Sinatra and building my first application with it has provided me with a learning experience unlike no other that has only increased my desire to learn more about application development. For my Sinatra project, I created an application that keeps track of a collection of cocktail recipes uploaded by many users. A user can sign up for an account by providing a desired username, password, and email. Once a users sign up and log in, they are then able to upload, edit, and share cocktail recipes with the rest of the application’s users.

Why User Authentication

User authentication is the verification of an active human-to-machine transfer of credentials required for confirmation of a user’s authenticity. Nowadays, user authentication in applications has become so common that it is hard to image an application without it. User authentication enables a user’s information to be safely secured in an appllication’s database and enables that information to be retrieved only by users that are authorized to do so based on their credentials. However, when you consider how rack based applications like Sinatra depend on stateless HTTP requests that have no association with each other, it becomes inevitable to wonder how exactly these applications are able to identify their users.