{"id":18884737,"url":"https://github.com/leandroppf/gostack-desafio-reactjs-crud","last_synced_at":"2025-08-22T06:08:59.668Z","repository":{"id":55170532,"uuid":"286117999","full_name":"leandroppf/gostack-desafio-reactjs-crud","owner":"leandroppf","description":null,"archived":false,"fork":false,"pushed_at":"2021-01-06T08:46:23.000Z","size":452,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-24T00:37:01.574Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/leandroppf.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-08-08T20:55:36.000Z","updated_at":"2020-08-24T02:20:08.000Z","dependencies_parsed_at":"2022-08-14T14:53:32.911Z","dependency_job_id":null,"html_url":"https://github.com/leandroppf/gostack-desafio-reactjs-crud","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":"rocketseat-education/gostack-template-reactjs-crud","purl":"pkg:github/leandroppf/gostack-desafio-reactjs-crud","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leandroppf%2Fgostack-desafio-reactjs-crud","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leandroppf%2Fgostack-desafio-reactjs-crud/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leandroppf%2Fgostack-desafio-reactjs-crud/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leandroppf%2Fgostack-desafio-reactjs-crud/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/leandroppf","download_url":"https://codeload.github.com/leandroppf/gostack-desafio-reactjs-crud/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leandroppf%2Fgostack-desafio-reactjs-crud/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271594375,"owners_count":24786707,"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","status":"online","status_checked_at":"2025-08-22T02:00:08.480Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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-08T07:14:03.839Z","updated_at":"2025-08-22T06:08:59.605Z","avatar_url":"https://github.com/leandroppf.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg alt=\"GoStack\" src=\"https://storage.googleapis.com/golden-wind/bootcamp-gostack/header-desafios-new.png\" /\u003e\n\n\u003ch3 align=\"center\"\u003e\n  Desafio 10: GoRestaurant Web\n\u003c/h3\u003e\n\n\u003cblockquote align=\"center\"\u003e“O tempo que leva para realizar seus sonhos vai passar de qualquer forma”!\u003c/blockquote\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg alt=\"GitHub language count\" src=\"https://img.shields.io/github/languages/count/leandroppf/gostack-desafio-reactjs-crud?color=%2304D361\"\u003e\n\n  \u003ca href=\"https://rocketseat.com.br\"\u003e\n    \u003cimg alt=\"Made by Leandro Pedroso\" src=\"https://img.shields.io/badge/made%20by-Leandroppf-%2304D361\"\u003e\n  \u003c/a\u003e\n\n  \u003cimg alt=\"License\" src=\"https://img.shields.io/badge/license-MIT-%2304D361\"\u003e\n\n  \u003ca href=\"https://github.com/leandroppf/gostack-desafio-reactjs-crud/stargazers\"\u003e\n    \u003cimg alt=\"Stargazers\" src=\"https://img.shields.io/github/stars/leandroppf/gostack-desafio-reactjs-crud?style=social\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n## :rocket: Sobre o desafio\n\nNesse desafio o objetivo era desenvolver uma nova aplicação, a GoRestaurant. Para esse desafio, foi utilizado React.js junto com TypeScript, praticando o conceito de CRUD (Create, Read, Update, Delete).\n\nEssa aplicação deve exibir os pratos de comida criados e permitir a criação, remoção e atualização desses pratos.\n\n### Layout da aplicação\n\nEssa aplicação possui um layout desenvolvido pela equipe da Rocketseat.\n\nO layout pode ser acessado através da página do Figma, no [seguinte link](https://www.figma.com/file/1lK6AVCPybtWeBLCH8B08N/GoRestaurant?node-id=0%3A1).\n\n### Funcionalidades da aplicação\n\n- **`Listar os pratos de comida da sua API`**: Sua página `Dashboard` deve ser capaz de exibir uma listagem, com o campo `title`, `value`, e  `description` e `available` de todos os pratos de comida que estão cadastrados na sua API.\n\n- **`Adicionar novos pratos de comida a sua API`**: Em sua página Dashboard você deve abrir um modal ao clicar no botão `Novo Prato` no Header. Esse modal deve ser responsável por cadastrar uma nova `food` passando os campos `image`, `name`, `description`, `value`.\n\n- **`Editar pratos de comida da sua API`**: Em sua página Dashboard você deve abrir um modal ao clicar no botão `Editar Prato`. Esse modal deve ser responsável por editar uma `food` passando os campos `image`, `name`, `description`, `value`.\n\n- **`Remover pratos de comida da sua API`**: Em sua página Dashboard você deve remover um prato de comida ao clicar no botão com ícone de lixeira no componente Food.\n\n- **`Alterar disponibilidade dos pratos de comida da sua API`**: Em sua página Dashboard você deve alterar a disponibilidade de um prato de comida ao clicar no switch que é controlado pelo valor de `available`.\n\n### Específicação dos testes\n\nO template também possui testes automatizados e um dos objetivos é que o código criado passe em todos os testes listados abaixo:\n\n* **`should be able to list all the food plates from your api`**: Para que esse teste passe, sua aplicação deve permitir que sejam listados, toda os pratos de comidas que são retornadas da sua fake API.\n\n- **`should be able to add a new food plate`**: Para que esse teste passe, você deve permitir que um prato de comida seja adicionado a sua api, adicionando-o também à listagem.\n\n- **`should be able to edit a food plate`**: Para que esse teste passe, você deve permitir que um prato de comida seja editado na sua api, editando-o também na listagem.\n\n- **`should be able to remove a food plate`**: Para que esse teste passe, você deve permitir que um prato de comida seja removido da sua api, removendo-o também da listagem.\n\n- **`should be able to update the availibility of a food plate`**: Para que esse teste passe, em sua dashboard você deve permitir que o status do prato de comida seja alterado entre `Disponível` e `Indisponível`;\n\n---\n\nDesafio concluído no dia 08/08/2020 por Leandro Pinto Pedroso Filho\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleandroppf%2Fgostack-desafio-reactjs-crud","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fleandroppf%2Fgostack-desafio-reactjs-crud","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleandroppf%2Fgostack-desafio-reactjs-crud/lists"}