This repository contains the code for the WeTransfer Assignment.
To use this code, you will need to have Node.js, npm and yarn installed on your machine. Once you have those installed, you can clone this repository and install the necessary dependencies by running the following commands:
cd wetransfer-assignment
yarn install
Once the dependencies are installed, you can run the code by executing the following command:
yarn start
This will start the server on port 3000, and you can access it by navigating to http://localhost:3000
in your web browser.
This project includes several scripts that you can run using yarn <script name>
:
start
: Starts the development serverbuild
: Builds the project for productiontest
: Runs the tests for the project using Jesteject
: Ejects the project fromreact-scripts
, which allows you to customize the configurationlint
: Runs ESLint to check for any syntax errors or style issueslint:fix
: Runs ESLint and fixes any syntax errors or style issuesformat
: Formats the code using Prettier
Note that before running the tests, you will need to set the NODE_ENV
environment variable to test
. You can do this by running export NODE_ENV=test
on Linux/Mac or set NODE_ENV=test
on Windows.
@tanstack/react-query
: ^4.28.0 - A powerful and easy-to-use data fetching library for React.axios
: ^1.3.4 - A promise-based HTTP client for the browser and Node.js.loader-utils
: 3.2.1 - A utility library for loading modules and assets.localforage
: ^1.10.0 - A library for offline storage, improving the offline experience of web applications. Used byreact-router
match-sorter
: ^6.3.1 - A library for sorting and filtering through collections of data. Used byreact-router
react
: 18.2.0 - A JavaScript library for building user interfaces.react-dom
: 18.2.0 - A package that provides DOM-specific methods for React.react-router-dom
: ^6.10.0 - A collection of routing components for React.react-scripts
: 5.0.1 - A set of scripts and configuration used by Create React App.sort-by
: ^1.2.0 - A library for sorting an array of objects by one or more properties. Used byreact-router
@types/react
: 18.0.25 - TypeScript type definitions for React.@types/react-dom
: 18.0.9 - TypeScript type definitions for React DOM.@typescript-eslint/eslint-plugin
: ^5.57.0 - An ESLint plugin that provides TypeScript-specific linting rules.@typescript-eslint/parser
: ^5.57.0 - An ESLint parser that allows ESLint to understand TypeScript syntax.eslint
: ^8.37.0 - A JavaScript/TypeScript linter that helps identify and report on patterns in the code.eslint-config-prettier
: ^8.8.0 - An ESLint configuration that turns off all rules that are unnecessary or might conflict with Prettier.eslint-import-resolver-typescript
: ^3.5.4 - A plugin that allows import statements in TypeScript to be resolved correctly.eslint-plugin-import
: ^2.27.5 - An ESLint plugin that provides linting rules for import and export statements.eslint-plugin-prettier
: ^4.2.1 - An ESLint plugin that integrates Prettier and runs it as an ESLint rule.eslint-plugin-react
: ^7.32.2 - An ESLint plugin that provides linting rules for React applications.eslint-plugin-react-hooks
: ^4.6.0 - An ESLint plugin that provides linting rules for React hooks.prettier
: ^2.8.7 - An opinionated code formatter that ensures code is consistently styled.typescript
: 4.4.2 - A language that builds on JavaScript by adding static type definitions.tailwindcss
: 3.3.1: A utility-first CSS framework for rapidly building custom user interfaces.