Integrating google maps into React forms with geolocation

As a follow up to my previous article on implementing infinite scrolling, in this post I will cover how to integrate the Google Maps API into a React project, and how it can be used as a form element.

My motivation behind this feature was to add a responsive location field in the form of a map, which would be centred on the users current position.

Set Up

To begin, you will need to install the Google Maps node by running the following in the root directory of your application:

How I implemented infinite scroll functionality with React Redux

For my final project with the FlatIron School, I developed Osiris, an app where users can sign up and post listings of pre-loved possessions that they want to re-home, rather than dispose of.

I constructed the frontend of this project using React and Redux and the backend with Ruby on Rails.

As part of this project, I wanted to challenge myself to code my own infinite scrolling component which would render new listings as a user scrolled through the listing index page.

By taking you through the variables and functions required I will cover how I achieved this; and how…

How to use WebSockets with Vanilla JavaScript and Rails to create multiplayer games

For my latest project with FlatIron School I developed the single-page JavaScript web application Track Builder.

In this app users are able to create and view racing tracks. When viewing them they are subscribed to a channel with other users also viewing that track in order to be able to race with them.

You can visit the website to test it out first hand here. …

Lifting rails controllers to a higher level


NetWorkOut is a web app that I developed to expand my rails coding ability while studying with the Flatiron School. I built a database of muscles and exercises, from which users can build workouts. They can also view those that others have built and star them as favourites for future reference when training.

In this post I cover five of my favourite methods that I implemented while developing this application to DRY up my controllers, and protect my routes from malicious requests.

Setting Objects

One thing you will be familiar with if you have developed…

Housing Development UK, a Sinatra based web application

Housing Development UK is a web application that demonstrates features of Sinatra and ActiveRecord. It allows two different types of users to create accounts and sign in;

  • firstly, housing development companies who can display their latest developments, and
  • secondly, users who can follow development companies and leave feedback on their proposals.

The foundations of my application could easily be altered to cater for many different scenarios where there are users with different requirements. The content creator and the reviewer. Another example being budding authors submitting short stories for peer review.

With current…

Superhero Battles ruby CLI application

My first project with the Flatiron school was to develop Superhero Battles, a simple ruby command line interface (CLI) application that created superhero cards from data pulled from a freely available API, and allowed the user to play a game versus a computer player.

Whilst writing the logic for the game was an interesting exercise, the functionality of the CLI is what this blog post will cover.

API requesting

To get the data required, I wrote an API class, that utilised the in-built ruby libraries of net/http and open-uri to send a get request to the chosen…

Why I chose to study software engineering

Deep down, I always knew that I had the potential and abilities to make a significant impact in the Software Engineering Industry. Although challenging and engaging, undertaking a Mechanical Engineering Master’s degree at the University of Bristol only served to clarify this ambition.

As part of the course I had my first taste of computer coding, where implementing efficient and novel coding solutions provided a great sense of satisfaction. …

Robert Shilcof

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