Image for post
Image for post
rubyonrails.org

Implementing authentication into your Rails application makes your project user friendly and sophisticated. Mastering authentication is a major milestone for aspiring developers and is a great way to test your programming skills.

To begin, create a new Rails application. You’ll need to comment in the gem bcrypt and run bundle install. Check your Gemfile for bcrypt and its corresponding version to ensure it was installed successfully.

gem 'bcrypt', '~> 3.1.7'

Next run rails g resource user to create your user routes, controller, and model. …


Image for post
Image for post
reactjs.org

Like many popular front end frameworks today, React is built as a single page application. Many of us want our applications to move beyond the landing page, so how can we mimic the effects of traveling on our site? The answer is React router. React router is a tool that helps us handle our routes dynamically as the application renders. I’ll show you how to get started.

First you’ll need to create your React application and run npm install react-router-dom. Once it has finished installing, check your package.json file for react-router-dom to ensure it’s been installed successfully.

Next, you’ll need to create the components that you want to navigate to. For my application, I want to navigate between the home page, the about page, and the contact page, so I will create those three components. Remember to import all components and place them inside the div in app.js, as that’s where we will write the code for routing and render all of the components. …


Image for post
Image for post
https://rubyonrails.org/

Ruby on Rails is a very useful web application framework for establishing complicated associations between models. Forming these relationships makes common operations simpler and doesn’t require a great deal of complex code. Before attempting a many-to-many relationship in Rails, it’s important to familiarize yourself with Ruby, ActiveRecord, and APIs. Feel free to check out my other blog post, How to Create a Simple API with Ruby on Rails for more information.

The first step in creating a many-to-many relationship in Rails is to create both parent tables. As an example, I am going to be making a dogs_and_owners application, where dogs can have many owners and owners can have many dogs. The join table in this case is simply dog_owners. Dog_owners will not have any unique attributes, and is simply being used to establish the relationship between dogs and owners. …


Image for post
Image for post
https://rubyonrails.org/

Ruby on Rails is an opinionated web application framework that allows users to create database-backed applications based on the Model-View-Controller (MVC) pattern. The Rails framework is great for beginners as the specific structure leaves little room for error and the Ruby language itself is very forgiving. Before installing Rails, make sure you have the following prerequisites installed on your system: Ruby, SQLite3, Node.js, and Yarn. Check out the Getting Started with Rails guide for more information. Once you have accounted for the prerequisites, simply type the gem install rails command provided by RubyGems to get started.

We can now spin up our Rails application. To do so, run rails new app-name — api in the appropriate directory. Hint: do not name your application after one of your classes, as the name of the application becomes a reserved word, thus preventing you from being able to use it as a class name. After the code runs, cd into your new project and open your code editor. You may notice that Rails has a very large file structure. Most importantly, note that the app folder contains the controllers and the models, the config folder contains the routes, and the db folder contains the seeds (and eventually the migrations and the schema). …


Image for post
Image for post
sendgrid.com

You did it! You made a portfolio site to show off your skills and projects. A great way to have your impressed viewers get in touch with you is to use the SendGrid Email API. Integrating the API is fun, useful, and free if you’re receiving less than 100 emails per day. I chose to integrate the API with Node.js, however there are several languages available (including Python, PHP, Java and more). Assuming you have a frontend portfolio site completed with a contact form that will send your user’s information to the API, you can have SendGrid’s email service up and running with only a few simple steps. …


Image for post
Image for post
http://knexjs.org/

Note: Before getting started with Knex, you may want to familiarize yourself with the steps necessary to create a basic Express app, as the following information builds on those concepts. Check out my other blog post here to learn how to get started with Node, Express, and Objection.

Knex self describes as “a ‘batteries included’ SQL query builder for Postgres, MSSQL, MySQL, MariaDB, SQLite3, Oracle, and Amazon Redshift designed to be flexible, portable, and fun to use”. Basically, it allows you to write SQL queries in your Node application. This is also where you will create your migrations and your seeds, as well as run queries such as .select, .insert, .update, …


Image for post
Image for post
Photo by Nate Grant on Unsplash

After finally getting comfortable with Ruby on Rails, I decided to teach myself Node.js for my Software Engineering Bootcamp capstone project. I was immediately thrown, what is a runtime? What is Express? Knex? Objection? Rails was a complete package with a little bow on top. Node was clearly much more involved. Let’s dive in and demystify Node, and its corresponding framework, query builder, and ORM.

Let’s start with Node.js. Node is not a language. It is a runtime, in this case, a way to run Javascript outside of the browser. It can be used to write server side applications with access to the operating system, file system, and everything else. It is written in C++, C, and JavaScript and is built on the open source v8 JavaScript engine. Some of the perks of Node include that it is asynchronous, non blocking, and allows us to make fullstack applications with only JavaScript. To install, click here. To run a JavaScript file with Node, simply type the node command followed by the file name. …


Much like creating a calculator or to-do list application, building a book search app is a great opportunity to practice your programming skills and test your ability to integrate various features. The most valuable aspects of building this application include searching, filtering, and sorting data as well as implementing an API, particularly one that’s not your own.

There are countless book APIs available for public use. I decided to use the Google Books API due to its cost (free!) and extensive documentation. …


This search bar enables users to search through different mountains by name.

Using a search bar to filter through data is a useful tool to make your simple application a little more sophisticated. Using cards to display content is very popular due to its sleek functionality among both beginner programmers and the most well known applications, like Instagram, Youtube, and Netflix. Although there are hundreds of ways to filter through and access data, a basic search bar is the most standard.

For my application, I used Ruby on Rails with seeded data for the backend and vanilla Javascript on the front end. After fetching data from the backend and creating cards based on the content I wanted to display, I implemented a search bar to be able to filter through the displayed information. Keep in mind, there are numerous ways you can accomplish a search, this is just what worked best for my skill set and application. …


Image for post
Image for post
City Park, Denver

About 6 months ago, I decided to pursue an education in Software Engineering. It had been several years since I had really challenged myself, and I was beginning to feel stagnant and unsatisfied. I had always loved being in school. After receiving my bachelor’s degree and a little bit of income, I couldn’t justify taking the time or money to continue my education.

I dove headfirst into my first social work job. And then my second. And then my third. The emotional stress and unfavorable working environment coupled with the insufficient pay shattered my social life. I had always known that burnout was a very real part of the job, but thought since I was young and inspired, I would be immune to it. Not the case. The last job I had placed me as a live in mentor with a family for 2 years. Although I had some positive experiences and saw a lot of progress with the family, the lack of boundaries absolutely destroyed me. At times I felt unsafe and isolated. I began expressing my concerns and frustrations to the family, but they went ignored. …

About

Rachel Emmer

Software Engineer in Denver, Colorado.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store