Giter Club home page Giter Club logo

js-datamodeling-exercise's Introduction

General Assembly Logo

Data Modeling with JavaScript

Every computer program deals with managing data. How you choose to represent these data within your program can have far-reaching implications on every other part of your application; consequently, reversing those decision becomes more and more costly over time, as the program becomes more complex. For this reason, thinking carefully in advance about how you want to model your data within your application can pay very big dividends.

Choosing Entities/Abstractions

One of the first challenges in modeling data is deciding what data to model. Let's consider an app we want to make, called Senior Paws. Senior Paws is an app for dog sitters taking care of old dogs, where you can track the dog's information, like its name, favorite treat, medication, and its owners. What attributes are most important to include in our data model?

image

Directions

Data Modeling Round 2! Take a look at each of the app descriptions below. For each description:

  1. Create a data model for the app by listing at least two relevant entities/abstractions (e.g. Senior Paws app, above) that the app might use, and list properties that make sense for that use case. You don't have to list all of them.
  2. Create Javascript objects of those entities and assign what data type the value of those properties should be
  3. Give an example of a relationship of the model. Keep in mind, not everything has to be connected to everything.

1. Movie Streaming Tracker

This app allows you to track movies you want to watch on different streaming platforms in one app. The app helps keep track of what movies you want to watch and where you can stream them (Netflix, HBO, Hulu, Amazon Prime, etc). Each streaming platform lists the movies that platform has to offer.

Write your answer here or in a separate js file.

2. Radio on the Internet app

This app hosts a ton of radio stations, each featuring their own playlists of songs. The radio stations can be listed by genre or popularity.

Write your answer here or in a separate js file.

3. Rock Concert App

This app will be a tool for managing all of your favorite bands' concerts; it will keep track of their tour dates, ticket purchasing, and next recommended show.

Write your answer here or in a separate js file.

4. Coffee To-Go App

This app will allow customers to browse a list of coffeeshops nearby, order drinks off of their menu, add those drinks to a shopping cart, and save that cart as a past order once the purchase is complete.

5. Team Tracker App

This app shows you all the latest stats from your favorite sports teams. You can view individual player stats and full team stats.

Write your answer here or in a separate js file.

Final Thoughts:

Q. When you were creating relationships between the models, what were some thoughts or questions you had to help guide a connection between them?

Write your answer here or in a separate js file.

Reading and Videos for Tomorrow

Now that you've had some practice really thinking about the data design of an app, we're going to learn about MongoDB, a no-SQL database. Starting tomorrow, our Express apps will be talking to the Mongo database through Mongoose. Since we're covering a LOT of ground tomorrow, take some time to introduce yourself to concepts and lingo surrounding MongoDB and Mongoose. You will not have to memorize the technical details here.

Submitting Your Work

When you're ready to submit your work,

  1. Add, commit, and push your code.
  2. Submit your link to GA Grader

js-datamodeling-exercise's People

Contributors

tangelia avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.