{"id":23178886,"url":"https://github.com/aszurar/savepass","last_synced_at":"2026-04-11T01:02:41.898Z","repository":{"id":118558245,"uuid":"456732622","full_name":"Aszurar/SavePass","owner":"Aszurar","description":"O SavePass é o desafio principal do Capítulo 2 do bootcamp Ignite da trilha com React-Native**. Nele, praticamos a lógica de programação com TypeScript para criação das funcionalidades desse aplicativo assim como toda estrutura para as requisições das funcionalidades desse aplicativo que utiliza o Async-Storage, ou seja o armazenamento local no dispositivo.. Além disso, também revisamos estruturas básicas para as requisições com try-catch,, useEffect, funções assíncronas, dentre outras .","archived":false,"fork":false,"pushed_at":"2022-02-09T01:06:05.000Z","size":365,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-05T02:16:40.227Z","etag":null,"topics":["android-studio","async-storage","expo","javascript","node-js","react","react-native","react-navigation","styled-components","typescript","yarn"],"latest_commit_sha":null,"homepage":"","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/Aszurar.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-02-08T00:54:41.000Z","updated_at":"2022-02-09T01:06:28.000Z","dependencies_parsed_at":null,"dependency_job_id":"819f5b5c-d083-4db8-8524-d8b50fffb1ce","html_url":"https://github.com/Aszurar/SavePass","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":"rocketseat-education/ignite-template-react-native-savepass","purl":"pkg:github/Aszurar/SavePass","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aszurar%2FSavePass","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aszurar%2FSavePass/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aszurar%2FSavePass/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aszurar%2FSavePass/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Aszurar","download_url":"https://codeload.github.com/Aszurar/SavePass/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aszurar%2FSavePass/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273892643,"owners_count":25186558,"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-09-06T02:00:13.247Z","response_time":2576,"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":["android-studio","async-storage","expo","javascript","node-js","react","react-native","react-navigation","styled-components","typescript","yarn"],"created_at":"2024-12-18T07:13:06.033Z","updated_at":"2026-04-11T01:02:41.852Z","avatar_url":"https://github.com/Aszurar.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SavePass | Ignite - React-Native\n\n O projeto **SavePass** é um aplicativo mobile de gerenciamento de senhas. Com ele podemos salvar contas de acesso, como:\n E-mails, senhas, endereços de IP, contas de rede sociais, dentre outras.\n Além disso, podemos listar, acessar e esconder esses dados. \n\n___\n\n\u003ch2 align=\"center\"\u003eSavePass\u003c/h2\u003e\n\u003ch3 align=\"center\"\u003e\n  \u003ca href=\"#information_source-sobre\"\u003eSobre\u003c/a\u003e\u0026nbsp;|\u0026nbsp;\n  \u003ca href=\"#interrobang-motivo\"\u003eMotivo\u003c/a\u003e\u0026nbsp;|\u0026nbsp;\n  \u003ca href=\"#seedling-requisitos-mínimos\"\u003eRequisitos\u003c/a\u003e\u0026nbsp;|\u0026nbsp;\n  \u003ca href=\"#rocket-tecnologias-utilizadas\"\u003eTecnologias\u003c/a\u003e\u0026nbsp;|\u0026nbsp;\n  \u003ca href=\"#package-como-baixar-e-executar-o-projeto\"\u003eBaixar e Executar\u003c/a\u003e\u0026nbsp;\n\u003c/h3\u003e\n\n___\n\n\u003cdiv align=\"center\" \u003e\u003cimg src=\"https://i.imgur.com/iLyGnZ1.gif\" width=\"220\"\u003e\n\u003c/div\u003e\n\n- [**Link do vídeo completo sobre o projeto**](https://www.youtube.com/watch?v=fQXnW-vNiEM)\n___\n\n## :information_source: Sobre\n\nO **SavePass** é o desafio principal do Capítulo 2 do bootcamp **Ignite da trilha com React-Native**. Nele, praticamos a lógica de programação com TypeScript para criação das funcionalidades desse aplicativo assim como toda estrutura para as requisições das funcionalidades desse aplicativo que utiliza o Async-Storage, ou seja o armazenamento local no dispositivo.\n\nAlém disso, revisamos estruturas com Try-Catch, ou seja, tratamos possíveis erros que podem ocorrer durante a execução de uma requisição, uso de métodos como include dentre outros.\n\n* **Página Inicial**:\n  \n\u003cdiv align=\"center\" \u003e\n  \u003cimg src=\"https://i.imgur.com/OFTcGp4.jpg\" width=\"250\"\u003e____\u003cimg src=\"https://i.imgur.com/CgeTHvY.gif\" width=220\u003e____\u003cimg src=\"https://i.imgur.com/DzpFoQH.jpg\" width=\"250\"\u003e\n\u003c/div\u003e\n\n___\n\n## :interrobang: Motivo\n\nEsse desafio tem por objetivo por em praticar os conceitos básicos de React Native no desenvolvimento mobile no 2º capítulo do curso **Ignite** de **React Native** como o uso do Async-Storage para as requisições e funcionalidades citadas abaixo e uso do React Hook Form em conjunto com Yup para os Inputs e seus alertas. \n\nAssim, nesse projeto criamos:\n\n1. Listagem geral das contas.\n2. Cadastro de novas contas e senhas.\n3. Filtragem da lista geral de contas salvas.\n4. Uso do React Hook Form em conjunto com Yup.\n\n* **Cadastro de senhas/contas**:\n  \n\u003cdiv align=\"center\" \u003e\n  \u003cimg src=\"https://i.imgur.com/iLyGnZ1.gif\" width=\"220\"\u003e__________________\n  \u003cimg src=\"https://i.imgur.com/zqH5c4T.jpg\" width=250\u003e\n\u003c/div\u003e\n\n\n* **Pesquisa de contas/senhas**:\n  \n\u003cdiv align=\"center\" \u003e\n  \u003cimg src=\"https://i.imgur.com/ClYsR45.jpg\" width=\"250\"\u003e______\n  \u003cimg src=\"https://i.imgur.com/eI7Wu1D.gif\" width=220\u003e_______\n  \u003cimg src=\"https://i.imgur.com/1VqjWZM.jpg\" width=250\u003e\n\u003c/div\u003e\n\n___\n\n## :seedling: Requisitos Mínimos\n\n- Android Studio\n- Async-Storage\n- Celular(Opcional)\n- Expo(desktop) \n  - Expo Go(Mobile) opcional.\n- Node.js \n- React\n- React-Native\n- TypeScript\n- Yarn(ou NPM)\n\n___\n\n## :rocket: Principais Tecnologias Utilizadas \n\nO projeto foi desenvolvido utilizando as seguintes tecnologias\n- [Android Studio](https://developer.android.com/studio)\n- [Async Storage](https://react-native-async-storage.github.io/async-storage/docs/usage/)\n- [Expo](https://expo.dev/)\n- [Javascript](https://developer.mozilla.org/pt-BR/docs/Web/JavaScript)\n- [NodeJS](https://nodejs.org/en/)\n- [React](https://pt-br.reactjs.org/)\n- [React-Native](https://reactnative.dev/)\n- [React Navigation](https://reactnavigation.org/)\n- [Styled Components](https://www.styled-components.com/)\n- [TypeScript](https://www.typescriptlang.org/)\n- [Yarn](https://classic.yarnpkg.com/blog/2017/05/12/introducing-yarn/)\n___\n\n## :package: Como baixar e executar o projeto\n\n  - Clonar o projeto:\n    ```bash\n     git clone https://github.com/Aszurar/SavePass.git\n    ```\n  - É necessário a instalação do yarn de acordo com seu sistema operacional, para isso veja como no site do [Yarn](https://github.com/Aszurar/SavePass.git)\n  - Instalação das dependências:\n    - Execute o comando abaixo dentro da pasta do projeto \n    ```bash\n      yarn\n    ```\n - É necessário a instalação do emulador [Android Studios](https://developer.android.com/studio) e das tecnologias requesitadas acima no:seedling:   \u003ca href=\"#seedling-requisitos-mínimos\"\u003e**Requisitos**\u003c/a\u003e\n - Também é necessário a instalação/configuração de outras tecnologias, para isso siga os passos indicados nessa página de acordo com seu sistema operacional: [Executando uma Aplicação React-Native emulando Windows/Linux/MacOS ou direto no dispositivo mobile Android/IOS](https://react-native.rocketseat.dev/android/linux)\n - É necessário a instalação do [Expo](https://expo.dev/)\n - Execução - Abra a pasta do projeto com alguma IDE(Vscode) ou simplesmente abra o terminal na pasta do projeto e execute o comando abaixo:\n    ```bash\n       expo start\n    ``` \n- Abra o emulador ou conecte o celular(É necessário a instalação do Expo Go) e execute:\n    ```bash\n        a\n    ```\n- Lembrando que, caso seja executado pelo emulador, o ideal é sempre deixa-lo aberto antes de aplicar os comandos acima.\n___\nDesenvolvido por :star2: Lucas de Lima Martins de Souza.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faszurar%2Fsavepass","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faszurar%2Fsavepass","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faszurar%2Fsavepass/lists"}