Skip to content

Instantly share code, notes, and snippets.

Some Notes and Reflections on Week 6 Database Associations

Naming Conventions

  • migration table name: plural
  • model / class name: singular
  • tableName(): refers to table name, so plural
  • relation names: plural if "HasManyRelation", singular if "BelongsToOne"
  • join: refer to the tableName of the model you are on, and determine what column helps connect the two tables (usually either id or somethingId)
  • usually, you start with the tableName of the model you are on, then if its a hasMany, you will be doing somethings.id to otherThings.somethingId

Example: after a clinic, an experience engineer shared a link to the codebase in this repo https://github.com/LaunchAcademy/high-card-dealer-with-tests/tree/boston-44

This is a link to the branch that the code for that clinic is available at. Different branches for a codebase likely have different implementations from different cohorts.

How to Download

Take the base URL from the clinic. You get this if you click on the Github repo title e.g. high-card-dealer-with-tests, or by removing the segments of the url beginning with /tree

So https://github.com/LaunchAcademy/high-card-dealer-with-tests/tree/boston-44 becomes

// import your relevant classes here
// NOTE: this file shows you how we might call on the methods you use for this assignment.
// Depending on how you implement the user stories, some of the code may not work, so you may have to edit the following code.
// const conference = new Conference('Test Conference', 2);
// const personOne = new Person('Hieu', 'Tran', 'test1@example.com')
// const personTwo = new Person('Jane', 'Doe', 'test2@example.com')
// const personThree = new Person('Blane', 'Poe', 'test3@example.com')

You've been tasked with building the system that supports the planning of a tech conference! In this challenge, you'll create a system of classes that will need to work together. Writing automated tests will help to guide your implementation.

The steps and stories in this assignment are meant to be incremental. You may need to refactor or revisit what you did in previous steps to finish the assignment.

Getting Started

et get at-a-conference
cd at-a-conference
yarn install
## Data Types
# String
name = "Nick"
"I am a dude named Nick"
"$&fp10/"
# Integer

Websockets with Socket.io for Launch Academy Node-React Apps

Websockets (wss) is a protocol that allows for live updates. This could allow you to see live direct messages from other users, chatrooms, stock tickers and other live social feeds, games and more.

Please chat with a teacher or mentor if you are unsure if websockets is worth adding to your app.

We highly recommend that you do not use the built in JavaScript Websocket objects/API, but instead use the Socket.io library to add websockets to your app.

We also highly recommend that you implement a simple chatroom in your website with Socket.io first, to fully understand how the technology works. From there, it is very easy to adjust the existing chatroom into whichever use you require. Exception: if you plan on connecting to a third party api with websockets (uncommon).

Giphy Practice OOP Challenge

This request goes to the Giphy trending api endpoint. https://api.giphy.com/v1/gifs/trending?api_key=YJX6Vs4kayAeOM4etN7P5ueL4ie4wU5D https://developers.giphy.com/docs/api/endpoint#endpoint

Using got or an HTTP client of your choice, write a program that can be run from your terminal to evaluate trends in the latest popular gifs.

Define a function or series of functions to evaluate the titles of gifs, to find the most common keyword in the title. Exclude articles (grammar) such as [the, and, an, a, my, by]

  • We need analysis on gif sizes, particularly as it pertains to the widths of images, which lead to the biggest headaches. Define a function or series of functions that gives a summary of patterns we see in gif widths.

Now approaching the weekend break, it's time to think about and plan what to tackle while working solo for you to be the most successful.

Getting Started

et get breakable-toy-deliverable-2-half

In this assignment, we ask that you make a plan before leaving for the weekend to organize your approach while you work independently until Monday.

In this lesson we will be learning how to integrate OAuth into our apps so that our users can login in with sites like Google, LinkedIn, Github, etc. It's vital that you understand each component of this reading in order to integrate those APIs into your app, and we will be learning the basics through Passport's implementation of OAuth with Google as an example.

Know that this lesson can be used to integrate any number of third party APIs as long as they have an established strategy with Passport. Some strategies include:

  • LinkedIn
  • Github
  • Google
  • Facebook
  • Instagram
  • Meetup