{"id":45856935,"url":"https://github.com/julianosill/memonotes","last_synced_at":"2026-02-27T04:18:50.738Z","repository":{"id":227778344,"uuid":"771731661","full_name":"julianosill/memonotes","owner":"julianosill","description":"Memonotes é uma aplicação web para gerenciar notas de texto, incluindo a função de transcrição em tempo real (speech-to-text) através do uso da Speech Recognition Web API.","archived":false,"fork":false,"pushed_at":"2024-04-13T23:03:55.000Z","size":7306,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-04-14T12:19:18.691Z","etag":null,"topics":["firebase","next","next-auth","react","tailwindcss"],"latest_commit_sha":null,"homepage":"https://memonotes.julianosill.com.br","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/julianosill.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}},"created_at":"2024-03-13T21:02:38.000Z","updated_at":"2024-04-09T02:27:24.000Z","dependencies_parsed_at":"2024-04-13T23:32:23.538Z","dependency_job_id":null,"html_url":"https://github.com/julianosill/memonotes","commit_stats":null,"previous_names":["julianosill/memonotes"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/julianosill/memonotes","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/julianosill%2Fmemonotes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/julianosill%2Fmemonotes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/julianosill%2Fmemonotes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/julianosill%2Fmemonotes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/julianosill","download_url":"https://codeload.github.com/julianosill/memonotes/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/julianosill%2Fmemonotes/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29884526,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-26T23:51:21.483Z","status":"online","status_checked_at":"2026-02-27T02:00:06.759Z","response_time":57,"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":["firebase","next","next-auth","react","tailwindcss"],"created_at":"2026-02-27T04:18:50.166Z","updated_at":"2026-02-27T04:18:50.730Z","avatar_url":"https://github.com/julianosill.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Imagem com o logotipo Memonotes e uma tela inicial da aplicação ao lado](.github/readme/cover-memonotes.png)\n\n# Memonotes\n\nAplicação web para gerenciar notas de texto, incluindo a função de transcrição em tempo real (Speech to Text) com uso da `Speech Recognition Web API`. Foi desenvolvida em Next.js 14, com autenticação através do Google e integração com Firebase (banco de dados NoSQL). Também conta com implemetação de recursos de acessibilidade, usabilidade e boas aplicações de UI e UX design.\n\n🔗 [Acesse a aplicação](https://memonotes.julianosill.com.br)\n\nObs.: a transcrição (Speech to Text) só está disponível em poucos navegadores até o momento, como Chrome e Safari.\nConfira os navegadores compatíveis [nesta página](https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognition#browser_compatibility).\n\n## Tecnologias utilizadas\n\n![next](https://img.shields.io/badge/next.js-292b36?style=for-the-badge\u0026logo=next.js)\n![react](https://img.shields.io/badge/react-292b36?style=for-the-badge\u0026logo=react)\n![reacthookform](https://img.shields.io/badge/react--hook--form-292b36?style=for-the-badge\u0026logo=reacthookform)\n![zod](https://img.shields.io/badge/zod-292b36?style=for-the-badge\u0026logo=zod)\n![firebase](https://img.shields.io/badge/firebase-292b36?style=for-the-badge\u0026logo=firebase)\n![next-auth](https://img.shields.io/badge/next--auth-292b36?style=for-the-badge)\n![framer](https://img.shields.io/badge/framer--motion-292b36?style=for-the-badge\u0026logo=framer)\n![tailwindcss](https://img.shields.io/badge/tailwindcss-292b36?style=for-the-badge\u0026logo=tailwindcss)\n![radix-ui](https://img.shields.io/badge/radix-292b36?style=for-the-badge\u0026logo=radixui)\n\n## Funcionalidades e características\n\n- Gerenciamento de notas:\n  - Adicionar, editar, remover;\n  - Pesquisar por palavra no título ou conteúdo;\n  - Filtar por tag;\n- Transcrição em tempo real através de captação de voz *(disponível apenas em alguns navegadores)*;\n- Navegação funcional por teclado e mouse;\n- Temas claro e escuro.\n\n## Instalação e execução local\n\nPara iniciar, crie ou adicione o projeto da aplicação web no [Firebase](https://firebase.google.com/?hl=pt) e ative o banco de dados Firestore. Copie/salve as credenciais do projeto (API keys).\n\nEm seguida, crie as credenciais da aplicação na [Google Cloud Platform](https://cloud.google.com), com os seguintes dados:\n\n```\n- Tela de permissão OAuth\n\n-- Domínio do app\nPágina inicial do aplicativo: http://localhost:3000\n\n-- Domínios autorizados\nDomínio autorizado 1: localhost:3000\n\n\n- Credenciais / IDs do cliente OAuth 2.0\n\n-- Origens JavaScript autorizadas\nURIs 1: http://localhost:3000\n\n-- URIs de redirecionamento autorizados\nURIs 1: http://localhost:3000/api/auth/callback/google\n```\n\nCopie/salve os dados de `ID do cliente` e `Chave secreta do cliente`.\n\nEm seguida, clone este repositório, acesse a pasta do projeto e instale as dependendências necessárias, seguindo os comandos:\n\n```bash\ngit clone https://github.com/julianosill/memonotes.git\ncd memonotes\npnpm install\n```\n\nCrie um arquivo `.env.local` na pasta raíz do projeto ou renomeie o arquivo `.env.local_sample` e adicione as variáveis de ambiente conforme o exemplo abaixo:\n\n```bash\n# Next Auth\nNEXTAUTH_SECRET=\nNEXTAUTH_URL=\"url_da_sua_aplicação\"\n\n# Google oAuth (gere sua chave de API e configure através do Google Cloud Console)\nGOOGLE_CLIENT_ID=\nGOOGLE_CLIENT_SECRET=\n\n# Firebase / Firestore database\nAPI_KEY=\nAUTH_DOMAIN=\nPROJECT_ID=\nSTORAGE_BUCKET=\nMESSAGING_SENDER_ID=\nAPP_ID=\nMEASUREMENT_ID=\n\nCOLLECTION_NAME=\"nome_da_colecão_no_firestore\"\n\n# App\nNEXT_PUBLIC_APP_BASE_URL=\"url_da_sua_aplicação\"\n```\n\nInicie a aplicação localmente com o comando:\n\n```bash\npnpm dev\n```\n\nA aplicação estará disponível através do endereço informado no seu terminal, por exemplo: [http://localhost:3000](http://localhost:3000).\n\n## Screenshots do projeto\n\n![Tela de exibindo um card e uma imagem de uma mulher ao lado, em dois temas: escuro e claro](.github/readme/signin.png)\n![Tela inicial da aplicação](.github/readme/home.png)\n![Tela inicial da aplicação com o menu do perfil abertu, em dois temas: escuro e claro](.github/readme/account.png)\n![Duas telas, uma exibindo o conteúdo de uma nota e outra exibindo o formulário de edição desta nota](.github/readme/note-edit.png)\n![Tela com a janela de transcrição de voz aberta](.github/readme/transcription.png)\n\n---\n\n\u003csup\u003eDesenvolvido por [Juliano Sill](https://github.com/julianosill)\u003c/sup\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjulianosill%2Fmemonotes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjulianosill%2Fmemonotes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjulianosill%2Fmemonotes/lists"}