An open API service indexing awesome lists of open source software.

https://github.com/onebeyond/front-live-coding-challenge


https://github.com/onebeyond/front-live-coding-challenge

Last synced: 3 months ago
JSON representation

Awesome Lists containing this project

README

        

# DCSL GS Frontend Code Challenge - Phone Catalogue App 📱

## 💭 Context

You are part of a team working on a project for a client who is developing a website with a phone catalogue.

The app already has the following features:

1. Phone catalogue visualisation.
2. Unit tests with __[jest](https://jestjs.io/)__ of the implemented functionalities.
3. Integration tests with __[Cypress](https://www.cypress.io/)__ of the implemented functionalities.

## ℹ️ Useful information

### __Essential commands__

- To install the dependencies:

```
npm i
```

- To run the application:

```
npm start
```

- To execute all the tests:

```
npm test
```

- To execute the unitary tests:

```
npm run test:unit
```

- To execute the integration tests:

```
npm run test:integration
```

### __API Documentation__

https://front-live-coding-api.herokuapp.com/__/docs/api/

### __Team Agreements__

- Communication between the team is fundamental. If anyone is blocked or has any doubts, it is best to ask the rest of your teammates.
- Commits must follow the [Conventional Commits specification](https://www.conventionalcommits.org/en/v1.0.0/).
- To consider the task done:
- The task specified must be implemented.
- Existing tests must pass.
- In case of adding new functionalities, new tests must be added.
- Once the task is completed, a Pull Request from the branch must be created so that it’s reviewed by the rest of the team before merging to the `main` branch.

## 🔜 Previous steps to the live coding

1. Clone the repository in your local environment.
2. Use the editor of your choice to visualise the code.
3. Edit the `.env` file and set the `X-User-Id` with your GitHub username.

## 💻 Live coding tasks

With your teammates’ help, you must complete the tasks given to the highest possible quality, always following the Team Agreements:

    1️⃣ Try to `execute the code locally and verify that it runs correctly`. If not, try to solve any bugs you find until the app works as expected. Try opening the WebConsole of your navigator to have more context. 😉

    2️⃣ Run the `unit tests` and verify that they run correctly. Otherwise, try to fix the bugs you find until the tests pass.

    3️⃣ Run the `integration tests` and verify that they run correctly. If not, try to solve any bugs you may find until the tests pass.

    4️⃣ Add a new `context` (with two properties: `message` and `isError`) to handle the errors in the API calls executed at `PhoneContext` and display them in the `Snackbar` component.

    5️⃣ Include the possibility to `remove a phone from the detail view`, as well as the tests that check if the functionality is working correctly.