Giter Site home page Giter Site logo

al-10-5s-project-dinosaur-museum's Introduction

Dinosaur Museum Project

The Dinosaur Museum is opening! You've been tasked with building some challenging functionality for the automated systems recently installed at the museum.

To complete this project, you will need to write several difficult functions that will support attendees in finding out information about dinosaurs, finding the dinosaur's location, and calculating their entry fees.

This is the first major project of the course. Please read carefully through the instructions and rubric below.

Project scoring

This project has five different parts on which you will be graded. Each part is weighted differently.

  • 50% of the project is scored on completion.
  • 20% of the project is scored through the mastery rubric.
  • 10% of the project is scored through stretch goals.
  • 20% of the project is scored through the presentation rubric.

In total, you must receive at least 70% to complete this project. For example, you could attain 40% of points through the completion requirements, 15% of points through the mastery rubric, 10% of points through the presentation rubric, and 5% of points through the stretch goals.

Completion

Each function you complete within the three files located in the src/ folder must be completed in full. If the function you write passes all of the tests, you will receive full credit. If your function passes some of the tests, you will receive partial credit.

Dinosaur facts

  1. Complete the getLongestDinosaur() function.
  2. Complete the getDinosaurDescription() function.
  3. Complete the getDinosaursAliveMya() function.

Room details

  1. Complete the getRoomByDinosaurName() function.
  2. Complete the getConnectedRoomNamesById() function.

Ticket calculator

  1. Complete the calculateTicketPrice() function.
  2. Complete the purchaseTickets() function.

Mastery rubric

This section of the project is designed to measure your increasing skill at writing good code and following best practices. To view components of the mastery rubric, view the appropriate assignment on Canvas.

Stretch goals (Required)

This section of the project measures your ability to go above and beyond in creating your project. To score points in this section, you should incorporate a feature, technology, or skill not explicitly required by the project instructions.

When submitting your pull request, it's important to include a brief description of any 'stretch goals' you have accomplished. Stretch goals are additional challenges or enhancements you've tackled that go beyond the basic project requirements. These can either be selected from the suggestions below or can be unique features or tasks tailored to your project's specific needs:

  • Incorporate higher-order native array methods in your functions to demonstrate advanced coding techniques.
  • Design and implement helper functions (look up and learn what helper functions are) to break down your code, making it clearer and easier to understand.
  • Develop new functions that provide insights into the data, such as identifying specific characteristics or trends. For example, a function could determine which dinosaurs in a dataset were herbivores.
  • Create an instructional video that walks through your code implementation, explaining each part for better understanding.

Remember, your coach will award points in this section based on the innovation and relevance of these additional achievements to your project.

Presentation rubric

This section of the project is designed to measure your ability to present your project and your code. These skills are crucial for succeeding in the course and getting your first job as a software developer. To view components of the mastery rubric, view the appropriate assignment on Canvas.

Project setup

Complete the steps below to get the project to run.

Getting started

  1. Fork and clone this repository.

  2. Navigate to the cloned repository's directory on your command line. Then, run the following command:

    npm install
    

    This will install the libraries needed to run the tests.

  3. Open up the repository in VSCode. Follow the instructions below to complete the Lab.

Tests

To run the tests, you can run the following command from the command line. You will need to be in the root directory of your local directory.

npm test

Test watcher

If you'd like, you can have the tests run constantly. This means that each time you save your file, your tests will be re-run. To do so, you can run the following:

npm run watch

Follow the on-screen prompts to exit out of the constant runner.

Run test files individually

There are a lot of tests that are contained in this project. You can run a single test file individually by putting the name of the file after npm test. You can even only put part of the file name.

npm test facts

Keep in mind that the testing framework, Jest, will attempt to match as many files as possible. So, for example, the following command will run all of the tests because all of the tests are inside of the dinosaur-museum-project/ folder.

npm test dinosaur

Run tests individually

After choosing a specific file to run, you can also specify which test you want to run. To do so, add .only after either test or describe.

test.only("should return an array of everyone's name who is in the line, in order", () => {

This will either run the specific test or, in the case of adding .only to a describe block, all of the tests for a specific function.

NOTE: Don't forget to remove this after you get the test to pass!

Run file

If you want to manually test out your file, you can do so by running the following command.

node index.js

The output will be printed to your terminal.

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.