{"id":20904715,"url":"https://github.com/sage/carbon-barcelona-coding-challenge","last_synced_at":"2025-07-05T23:34:22.602Z","repository":{"id":38426063,"uuid":"351028194","full_name":"Sage/carbon-barcelona-coding-challenge","owner":"Sage","description":null,"archived":false,"fork":false,"pushed_at":"2023-07-19T01:53:57.000Z","size":5457,"stargazers_count":0,"open_issues_count":26,"forks_count":0,"subscribers_count":13,"default_branch":"master","last_synced_at":"2025-01-19T14:16:40.855Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Sage.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-03-24T09:58:08.000Z","updated_at":"2021-03-26T17:18:03.000Z","dependencies_parsed_at":"2024-11-18T13:20:58.534Z","dependency_job_id":"96425ede-c469-48c0-9b4b-5a0b182d1c92","html_url":"https://github.com/Sage/carbon-barcelona-coding-challenge","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sage%2Fcarbon-barcelona-coding-challenge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sage%2Fcarbon-barcelona-coding-challenge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sage%2Fcarbon-barcelona-coding-challenge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sage%2Fcarbon-barcelona-coding-challenge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Sage","download_url":"https://codeload.github.com/Sage/carbon-barcelona-coding-challenge/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243295392,"owners_count":20268372,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-18T13:18:36.596Z","updated_at":"2025-03-12T21:23:56.470Z","avatar_url":"https://github.com/Sage.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Coding Challenge\n\u003e This coding challenge is for a Frontend/JavaScript developer. We are making the assumption that you are familiar with React, Node.JS and NPM.\n\nYour task is to build a Single Page Application that consumes an API endpoint of invoice data. You should display the results in a Table component that resembles the design below.\n\n![table](table1.png \"Table with Pagination and Sortable Columns\")\n\nWe would expect this task to take a few hours, however there is no strict time limit and you won't be judged on how long it took you to complete.\n\n1. You must use [React](https://reactjs.org/)\n1. Your site should support Chrome, Firefox, Safari \u0026 Edge.\n1. The Table should have sortable columns, triggered by clicking on the column headers.\n1. The Table should have paginated data with controls to step forward and back.\n1. You should write additional tests to cover your solution.\n1. There is a mock API available, see the API script below for more details.\n\n## Additional Tasks\n\nThese tasks are not mandatory, this is your time to put your touch on your submission, you might want to consider\n\n- host your finished site somewhere free such as [Heroku](https://www.heroku.com/) or [vercel](https://vercel.com/) and send us the address\n- anything else you can think of to enhance your app, we'd love to see your ideas.\n\n## Technologies\n\nThis repository was bootstrapped with [Create React App](https://github.com/facebook/create-react-app). Although, this configures [`react-testing-library`](https://github.com/testing-library/react-testing-library) out of the box, you are free to use the tools and libraries that you prefer to complete this exercise.\n\nThe project has been configured with `prettier` which will auto-format your code when you commit your changes. We ask you to leave this as-is.\n\n## Available Scripts\n\nIn the project directory, you can run:\n\n### `npm start`\n\nRuns the app in the development mode.\u003cbr /\u003e\nOpen [http://localhost:3000](http://localhost:3000) to view it in the browser.\n\nThe page will reload if you make edits.\u003cbr /\u003e\nYou will also see any lint errors in the console.\n\n### `npm test`\n\nLaunches the test runner in the interactive watch mode.\u003cbr /\u003e\nSee the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information.\n\n### `npm run build`\n\nBuilds the app for production to the `build` folder.\u003cbr /\u003e\nIt correctly bundles React in production mode and optimizes the build for the best performance.\n\nThe build is minified and the filenames include the hashes.\u003cbr /\u003e\nYour app is ready to be deployed!\n\nSee the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information.\n\n### `npm run api`\n\nStarts `json-server` using data from `faker`. You should not rely upon this data in any testing as it is intentionally non-deterministic. Every time the API is started it will be re-seeded with a new value.\n\nIt is built with [`json-server`](https://github.com/typicode/json-server). It has support for [pagination](https://github.com/typicode/json-server#paginate) and [sorting](https://github.com/typicode/json-server#sort).\n\nPlease do not make changes to the API or the random seed.\n\n## How we will assess your work\n\nYou should clone this repository and when you're ready to share your work push it to private repository and our recruitment team will let you know the username to add as a collaborator so we can check it out.\n\nWe will run the following commands\n\n- `npm install`\n- `npm run api`\n- `npm run test`\n- `npm run build`\n- `npx serve -s build`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsage%2Fcarbon-barcelona-coding-challenge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsage%2Fcarbon-barcelona-coding-challenge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsage%2Fcarbon-barcelona-coding-challenge/lists"}