Giter Site home page Giter Site logo

gabbrousset / eng-intern-assessment-react-native Goto Github PK

View Code? Open in Web Editor NEW

This project forked from shopify/eng-intern-assessment-react-native

0.0 0.0 0.0 234 KB

A Starter repo for Shopify React Native intern assessments

JavaScript 74.00% TypeScript 26.00%

eng-intern-assessment-react-native's Introduction

Technical Instructions

  1. Fork this repo to your local Github account.
  2. Create a new branch to complete all your work in.
  3. Test your work using the provided tests
  4. Create a Pull Request against the Shopify Main branch when you're done and all tests are passing

Project Overview

The goal of this project is to implement a stopwatch application using React Native and TypeScript. The stopwatch should have the following functionality:

  • Start the stopwatch to begin counting time.
  • Stop the stopwatch to pause the timer.
  • Displays Laps when a button is pressed.
  • Reset the stopwatch to zero.

You will be provided with a basic project structure that includes the necessary files and dependencies. Your task is to write the code to implement the stopwatch functionality and ensure that it works correctly.

Project Setup

To get started with the project, follow these steps:

  1. Clone the project repository to your local development environment.

  2. Install the required dependencies by running npm install in the project directory.

  3. Familiarize yourself with the project structure. The main files you will be working with are:

    • /App.tsx: The main component that renders the stopwatch and handles its functionality.
    • src/Stopwatch.tsx: A separate component that represents the stopwatch display.
    • src/StopwatchButton.tsx: A separate component that represents the start, stop, and reset buttons.
  4. Review the existing code in the above files to understand the initial structure and component hierarchy.

Project Goals

Your specific goals for this project are as follows:

  1. Implement the stopwatch functionality:

    • The stopwatch should start counting when the user clicks the start button.
    • The stopwatch should stop counting when the user clicks the stop button.
    • The stopwatch should reset to zero when the user clicks the reset button.
    • The stopwatch should record and display laps when user clicks the lap button.
  2. Ensure code quality:

    • Write clean, well-structured, and maintainable code.
    • Follow best practices and adhere to the React and TypeScript coding conventions.
    • Pay attention to code readability, modularity, and performance.
  3. Test your code:

    • Run the application and test the stopwatch functionality to ensure it works correctly.
    • Verify that the stopwatch starts, stops, resets, and records laps as expected.
  4. Code documentation:

    • Document your code by adding comments and explanatory notes where necessary.
    • Provide clear explanations of the implemented functionality and any important details.
  5. Version control:

    • Use Git for version control. Commit your changes regularly and push them to a branch in your forked repository.
  6. Create a Pull Request:

    • Once you have completed the project goals, create a pull request to merge your changes into the main repository.
    • Provide a clear description of the changes made and any relevant information for the code review.

Getting Started

To start working on the project, follow these steps:

  1. Clone the repository to your local development environment.

  2. Install the required dependencies by running npm install in the project directory.

  3. Open the project in your preferred code editor.

  4. Review the existing code in the src directory to understand the initial structure and component hierarchy.

  5. Implement the stopwatch functionality by modifying the necessary components (App.tsx, Stopwatch.tsx, StopwatchButton.tsx).

  6. Run the application using npm start and test the stopwatch functionality.

  7. Commit your changes regularly and push them to a branch in your forked repository.

  8. Once you have completed the project goals, create a pull request to merge your changes into the main repository.

Resources

Here are some resources that may be helpful during your work on this project:

eng-intern-assessment-react-native's People

Contributors

doublederek 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.