What is Object-oriented programming ?

Object-oriented programming (OOP) is a programming paradigm that organises software design around programmatically representing real world entities as objects.

*Note: Code is written in Python3

*Note: The words instance and object are used interchangeably

In honour of Black History Month, examples in this blog will celebrate the work of Black Tech Pioneers!

Classes, Objects and Methods

Classes and objects form an essential part of Object-oriented programming.

A class can be considered as a template/factory from which you can create an object. It describes the attributes and behaviours an object will have by grouping variables and methods respectively into a single unit.

A step-by-step guide to creating a full-stack web application using a Rails backend and React frontend.

Part 1: Planning & setting up Github repositories


Once you have determined your app idea you must begin to plan for the instruments you will use to complete your MVP:

User Stories: What features will you have in your app & how will the user interact with them?

Database Design: Define Rails models, including their attributes & relationships.

Wireframes: Draw out a detailed description of the apps layout, this will help you to design the structure of your React components.

Scrum Board: Outlines goals…


A React application usually consists of several dynamic React components combined together, where each component has a separation of concerns & child components are nested within parent components.

We Declare a new class that extends React’s Component class, which provides us with built in methods & attributes.

class <ComponentName> extends Component {
render() {
return ( //Your Code Goes Here )

The JSX storage element contains all our remaining code.

Once a component is defined, we invoke it in it’s parent components’…

Models: The logic of a web application where data is accessed & manipulated via a database

Views: The frontend, user-facing part of a web application — this is the only part of the app that the user interacts with directly. Consist of HTML, CSS & Javascript

Controllers: The middle man between the client, models & views. The controller relays data from the browser to the application & from the application to the browser

Manually set up a Rails MVC structure

*In practice, don’t include | |, just add the text described inside

*Note: Model names should always be capitalised when referenced inside a file

A. Create Database

1) Create a…

If you are a programming newbie you have probably had the overwhelming encounter with the beast that is git. I myself have had to tackle this beast & I have come out on the other side with a few simple steps to help you manoeuvre GitHub collaboration confidently.

You want to collaboratively work on a project and make changes to another developers someones repository:

Having jumped full force into classes in Ruby, I was surprised at the huge advancement in my programming skills that 2 weeks of non-stop coding delivered. Did I think I had the ability to create a CLI app from scratch? No. Read on to find out how I tackled imposter syndrome head on and work collaboratively with my partner to build a working CLI app.

You know more than you think you do

I allow myself 10minutes to panic when I feel the loom of imposter syndrome building up and then I make an action plan.

My action plan consists of making a detailed but flexible list of…


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