{"id":20976121,"url":"https://github.com/igoraugust0/time-capsule","last_synced_at":"2026-04-07T07:02:59.046Z","repository":{"id":194338252,"uuid":"641569781","full_name":"IgorAugust0/time-capsule","owner":"IgorAugust0","description":"⏳ Aplicação de recordação de memórias por meio de fotos e vídeos, desenvolvida durante evento NLW Spacetime da Rocketseat","archived":false,"fork":false,"pushed_at":"2023-09-12T14:49:32.000Z","size":32330,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-20T05:49:30.243Z","etag":null,"topics":["axios","expo","fastify","jwt","nextjs","nodejs","oauth","postgresql","prisma","react","react-native","supabase","tailwindcss","typescript","zod"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/IgorAugust0.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}},"created_at":"2023-05-16T18:45:32.000Z","updated_at":"2024-08-08T19:31:21.000Z","dependencies_parsed_at":"2023-09-12T23:39:11.359Z","dependency_job_id":"73a9d4c4-6312-4959-9192-d53ac97f1775","html_url":"https://github.com/IgorAugust0/time-capsule","commit_stats":null,"previous_names":["igoraugust0/nlw-spacetime","igoraugust0/time-capsule"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IgorAugust0%2Ftime-capsule","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IgorAugust0%2Ftime-capsule/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IgorAugust0%2Ftime-capsule/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IgorAugust0%2Ftime-capsule/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/IgorAugust0","download_url":"https://codeload.github.com/IgorAugust0/time-capsule/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243374461,"owners_count":20280683,"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":["axios","expo","fastify","jwt","nextjs","nodejs","oauth","postgresql","prisma","react","react-native","supabase","tailwindcss","typescript","zod"],"created_at":"2024-11-19T04:50:18.140Z","updated_at":"2025-12-30T19:10:46.126Z","avatar_url":"https://github.com/IgorAugust0.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n  \u003ca href=\"https://github.com/IgorAugust0/NLW-Spacetime\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/IgorAugust0/IgorAugust0.github.io/ad51e6474a9396031d0daf8738f0c60ab1996de2/assets/nlw/spacetime/logo.svg\" alt=\"Markdownify\" width=\"300\"\u003e\u003c/a\u003e\n  \u003cbr\u003e\n  NLW Spacetime - Cápsula do Tempo\n\u003c/h1\u003e\n\n\u003cp align=\"center\" style=\"margin-top: 2em;\"\u003e\n\u003c/p\u003e\n\n \u003cp align=\"center\"\u003e\nCápsula do Tempo é uma aplicação full-stack, do back-end ao mobile, que funciona como uma cápsula do tempo guardando memórias passadas numa timeline, utilizando React, Tailwind, Node, Fastify, TypeScript, Expo, Next.js e muito mais.\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#information_source-como-executar\"\u003eℹ️ Como Executar?\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\u0026nbsp;\n  \u003ca href=\"#rocket-tecnologias\"\u003e🚀 Tecnologias\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\u0026nbsp;\n  \u003ca href=\"#art-layout\"\u003e🎨 Layout\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\u0026nbsp;\n  \u003ca href=\"#computer-autores\"\u003e💻 Autores\u003c/a\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\u0026nbsp;\n  \u003ca href=\"#memo-licença\"\u003e📝 Licença\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/made%20by-Igor%20Augusto-8257e5?style=flat-square\"\u003e\n  \u003cimg alt=\"GitHub language count\" src=\"https://img.shields.io/github/languages/count/igoraugust0/nlw-spacetime?color=8257e5\u0026style=flat-square\"\u003e\n  \u003cimg alt=\"Repository size\" src=\"https://img.shields.io/github/repo-size/igoraugust0/nlw-spacetime?color=8257e5\u0026style=flat-square\"\u003e\n  \u003ca href=\"https://github.com/IgorAugust0/nlw-spacetime/commits/main/\"\u003e\n    \u003cimg alt=\"GitHub last commit\" src=\"https://img.shields.io/github/last-commit/igoraugust0/nlw-spacetime?color=8257e5\u0026style=flat-square\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://opensource.org/licenses/MIT\"\u003e\n    \u003cimg alt=\"License\" src=\"https://img.shields.io/badge/license-MIT-8257e5?style=flat-square\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n![cover](https://raw.githubusercontent.com/IgorAugust0/IgorAugust0.github.io/main/assets/nlw/spacetime/cover.png)\n\n\u003e NLW Spacetime é uma aplicação de recordação de memórias, onde o nosso usuário poderá adicionar à uma timeline textos, fotos e vídeos de acontecimentos marcantes da sua vida, organizados por mês e ano.\n\n# :information_source: Como Executar?\n\n## Clonar o Repositório\n\n```bash\ngit clone https://github.com/IgorAugust0/nlw-spacetime\n```\n\n## :desktop_computer: Server\n\n```bash\n# Acesse a pasta do servidor\ncd server\n\n# Instale as dependências\nnpm install\n\n# Configure as variáveis de ambiente\ncp .env.example .env\n\n# Preencha as variáveis no arquivo .env, deve-se criar dois \n# conjuntos de variáveis, um para o web e outro para o mobile\n# GITHUB_CLIENT_ID=\"\"\n# GITHUB_CLIENT_SECRET=\"\"\n\n# Execute o Prisma para criar as tabelas\nnpx prisma migrate dev\n\n# Inicie o servidor\nnpm dev\n```\n\n## :globe_with_meridians: Web\n\n```bash\n# Com o servidor iniciado, acesse a pasta do projeto Web\ncd ../web\n\n# Instale as dependências\nnpm install\n\n# Configure a variável de ambiente\ncp .env.example .env.local\n\n# Preencha a variável no arquivo .env\n# NEXT_PUBLIC_GITHUB_CLIENT_ID=\n\n# Inicie o projeto Web\nnpm dev\n```\n\n## :iphone: Mobile\n\n```bash\n# Com o servidor iniciado, acesse a pasta do projeto Mobile\ncd ../mobile\n\n# Instale as dependências\nnpm install\n\n# Inicie o projeto Mobile (ios está disponível apenas em máquinas com MacOS,\n# porém é possível escanear o QR Code com um dispositivo físico iOS)\nnpx expo start\n\n# Acesse o aplicativo Expo no seu celular e escaneie o QR Code\n```\n\n\u003e ➡️ Acesse [http://localhost:3000](http://localhost:3000) para acessar a aplicação web.\n\n# :rocket: Tecnologias\n\n| Front-End Web                                                                                                                                                                | Mobile                                                                                                                                                                                             | Back-End                                                                                                                                                                  |\n| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| [![Typescript Badge](https://img.shields.io/badge/Typescript-3178C6.svg?style=for-the-badge\u0026logo=Typescript\u0026logoColor=white)](https://www.typescriptlang.org/)               | [![React Native Badge](https://img.shields.io/badge/React%20Native-61DAFB.svg?style=for-the-badge\u0026logo=React\u0026logoColor=white)](https://reactnative.dev/)                                           | [![Node.js Badge](https://img.shields.io/badge/Node.js-339933.svg?style=for-the-badge\u0026logo=Node.js\u0026logoColor=white)](https://nodejs.org/)                                 |\n| [![Next.js Badge](https://img.shields.io/badge/Next.js-000000.svg?style=for-the-badge\u0026logo=Next.js\u0026logoColor=white)](https://nextjs.org/)                                    | [![Safe Area Context Badge](https://img.shields.io/badge/Safe%20Area%20Context-000000.svg?style=for-the-badge\u0026logo=React\u0026logoColor=white)](https://reactnavigation.org/docs/getting-started)       | [![Typescript Badge](https://img.shields.io/badge/Typescript-3178C6.svg?style=for-the-badge\u0026logo=Typescript\u0026logoColor=white)](https://www.typescriptlang.org/)            |\n| [![Tailwind CSS Badge](https://img.shields.io/badge/Tailwind%20CSS-38B2AC.svg?style=for-the-badge\u0026logo=Tailwind%20CSS\u0026logoColor=white)](https://tailwindcss.com/)            | [![React Native Screens Badge](https://img.shields.io/badge/React%20Native%20Screens-000000.svg?style=for-the-badge\u0026logo=React\u0026logoColor=white)](https://github.com/wix/react-native-navigation)   | [![Prisma Badge](https://img.shields.io/badge/Prisma-2D3748.svg?style=for-the-badge\u0026logo=Prisma\u0026logoColor=white)](https://www.prisma.io/)                                 |\n| [![Autoprefixer Badge](https://img.shields.io/badge/Autoprefixer-000000.svg?style=for-the-badge\u0026logo=Autoprefixer\u0026logoColor=white)](https://autoprefixer.github.io/)         | [![React Native SVG Badge](https://img.shields.io/badge/React%20Native%20SVG-00D8FF.svg?style=for-the-badge\u0026logo=React\u0026logoColor=white)](https://github.com/software-mansion/react-native-svg)     | [![Supabase Badge](https://img.shields.io/badge/Supabase-24b47e.svg?style=for-the-badge\u0026logo=Supabase\u0026logoColor=white)](https://supabase.com/)                            |\n| [![PostCSS Badge](https://img.shields.io/badge/PostCSS-DD3A0A.svg?style=for-the-badge\u0026logo=PostCSS\u0026logoColor=white)](https://postcss.org/)                                   | [![Typescript Badge](https://img.shields.io/badge/Typescript-3178C6.svg?style=for-the-badge\u0026logo=Typescript\u0026logoColor=white)](https://www.typescriptlang.org/)                                     | [![Zod Badge](https://img.shields.io/badge/Zod-E5A00D.svg?style=for-the-badge\u0026logo=Zod\u0026logoColor=white)](https://github.com/colinhacks/zod)                               |\n| [![Lucide React Badge](https://img.shields.io/badge/Lucide%20React-000000.svg?style=for-the-badge\u0026logo=React\u0026logoColor=white)](https://github.com/lucide-icons/lucide)       | [![Expo Badge](https://img.shields.io/badge/Expo-000020.svg?style=for-the-badge\u0026logo=Expo\u0026logoColor=white)](https://expo.dev/)                                                                     | [![Fastify Badge](https://img.shields.io/badge/Fastify-000000.svg?style=for-the-badge\u0026logo=Fastify\u0026logoColor=white)](https://www.fastify.dev/)                            |\n| [![Axios Badge](https://img.shields.io/badge/Axios-007ACC.svg?style=for-the-badge\u0026logo=Axios\u0026logoColor=white)](https://axios-http.com/)                                      | [![Expo Image Picker Badge](https://img.shields.io/badge/Expo%20Image%20Picker-4630EB.svg?style=for-the-badge\u0026logo=Expo\u0026logoColor=white)](https://docs.expo.dev/versions/latest/sdk/imagepicker/)  | [![Dotenv Badge](https://img.shields.io/badge/Dotenv-007A82.svg?style=for-the-badge\u0026logo=Dotenv\u0026logoColor=white)](https://github.com/motdotla/dotenv)                     |\n| [![ESLint Badge](https://img.shields.io/badge/ESLint-4B32C3.svg?style=for-the-badge\u0026logo=ESLint\u0026logoColor=white)](https://eslint.org/)                                       | [![Expo Auth Session Badge](https://img.shields.io/badge/Expo%20Auth%20Session-4E3FB1.svg?style=for-the-badge\u0026logo=Expo\u0026logoColor=white)](https://docs.expo.dev/versions/latest/sdk/auth-session/) | [![ESLint Badge](https://img.shields.io/badge/ESLint-4B32C3.svg?style=for-the-badge\u0026logo=ESLint\u0026logoColor=white)](https://eslint.org/)                                    |\n| [![js-cookie Badge](https://img.shields.io/badge/js--cookie-FF9800.svg?style=for-the-badge\u0026logo=javascript\u0026logoColor=white)](https://github.com/js-cookie/js-cookie)         | [![Expo Constants Badge](https://img.shields.io/badge/Expo%20Constants-FFD700.svg?style=for-the-badge\u0026logo=Expo\u0026logoColor=black)](https://docs.expo.dev/versions/latest/sdk/constants/)            | [![Fastify CORS Badge](https://img.shields.io/badge/Fastify%20CORS-FF6B00.svg?style=for-the-badge\u0026logo=Fastify\u0026logoColor=white)](https://github.com/fastify/fastify-cors) |\n| [![jwt-decode Badge](https://img.shields.io/badge/jwt--decode-000000.svg?style=for-the-badge\u0026logo=JSON%20Web%20Tokens\u0026logoColor=white)](https://github.com/auth0/jwt-decode) | [![Expo Crypto Badge](https://img.shields.io/badge/Expo%20Crypto-4B0082.svg?style=for-the-badge\u0026logo=Expo\u0026logoColor=white)](https://docs.expo.dev/versions/latest/sdk/crypto/)                     | [![Fastify JWT Badge](https://img.shields.io/badge/Fastify%20JWT-007A82.svg?style=for-the-badge\u0026logo=Fastify\u0026logoColor=white)](https://github.com/fastify/fastify-jwt)    |\n\n# :art: Layout\n\n### :globe_with_meridians: Layout Desktop\n\n## ![web](https://raw.githubusercontent.com/IgorAugust0/IgorAugust0.github.io/main/assets/nlw/spacetime/web.png)\n\n### :iphone: Layout Mobile\n\n![mobile](https://raw.githubusercontent.com/IgorAugust0/IgorAugust0.github.io/main/assets/nlw/spacetime/mobile.png)\n\n# :hammer_and_wrench: To-Do\n\n- [ ] Edição de memória (página de detalhe da memória)\n- [ ] Link para compartilhar memória\n- [ ] Selecionar data da memória (com DateTimePicker)\n- [ ] Layout responsivo\n\n# :computer: Autores\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003ca href=\"http://github.com/IgorAugust0/\"\u003e\n        \u003cimg src=\"https://avatars.githubusercontent.com/u/79866605?v=4\" width=\"100px;\" alt=\"Avatar do autor\"/\u003e\n        \u003cbr /\u003e\n        \u003csub\u003e\n          \u003cb\u003eIgor Augusto\u003c/b\u003e\n        \u003c/sub\u003e\n       \u003c/a\u003e\n       \u003cbr /\u003e\n       \u003ca href=\"\" title=\"Linkedin\"\u003e@igoraugusto 💻\u003c/a\u003e\n       \u003cbr /\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003ca href=\"http://github.com/rocketseat/\"\u003e\n        \u003cimg src=\"https://avatars.githubusercontent.com/u/28929274?s=200\u0026v=4\" width=\"100px;\" alt=\"Logo da Rocketseat\"/\u003e\n        \u003cbr /\u003e\n        \u003csub\u003e\n          \u003cb\u003eRocketseat\u003c/b\u003e\n        \u003c/sub\u003e\n       \u003c/a\u003e\n       \u003cbr /\u003e\n       \u003ca href=\"http://github.com/rocketseat/\" title=\"git\"\u003e@rocketseat 🚀\u003c/a\u003e\n       \u003cbr /\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n# :memo: Licença\n\nEste projeto está licenciado sob a licença MIT - veja o arquivo de [licença](./LICENSE) para mais detalhes.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Figoraugust0%2Ftime-capsule","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Figoraugust0%2Ftime-capsule","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Figoraugust0%2Ftime-capsule/lists"}