https://github.com/tthayza/nlw-spacetime-ignite
Desenvolvimento de uma cápsula do tempo, projeto realizado no evento Next Level Week Spacetime da RocketSeat. 👩🏻🚀
https://github.com/tthayza/nlw-spacetime-ignite
axios-react javascript lucide-icons nextauth nextjs nlw-ignite nodejs prisma react-hooks reactjs rocketseat-nlw tailwindcss typescript zod-validators
Last synced: 3 months ago
JSON representation
Desenvolvimento de uma cápsula do tempo, projeto realizado no evento Next Level Week Spacetime da RocketSeat. 👩🏻🚀
- Host: GitHub
- URL: https://github.com/tthayza/nlw-spacetime-ignite
- Owner: tthayza
- License: mit
- Created: 2023-05-16T02:09:51.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-05-29T20:47:06.000Z (over 2 years ago)
- Last Synced: 2025-02-07T03:29:17.903Z (8 months ago)
- Topics: axios-react, javascript, lucide-icons, nextauth, nextjs, nlw-ignite, nodejs, prisma, react-hooks, reactjs, rocketseat-nlw, tailwindcss, typescript, zod-validators
- Language: TypeScript
- Homepage:
- Size: 924 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
CÁPSULA DO TEMPO ⏳🚀👩🏻🚀✨
Sobre o projeto
Página desenvolvida com Backend, Frontend e Banco de Dados na Next Level Week Spacetime da RocketSeat. Esse projeto visa ser uma cápsula do tempo na qual são armazenadas memórias, contendo o registro em imagem e um texto descritivo.
![]()
Funcionalidades✅ Autenticação com GitHub
Ao se conectar à página para que o usuário seja logado, ao clicar em 'crie sua conta' ocorrerá um redirecionamento para autenticar-se com o GitHub. E, assim, será possível obter os dados do usuário como o nome e foto. Para isso foi utilizada a tecnologia NextAuth.js.
✅ Listagem de memórias
Ao se conectar com a página, já estando autenticado com o GitHub, o usuário terá como página principal a listagem de suas memórias cadastradas. Essa funcionalidade é feita por meio de uma busca no banco de dados carregando o token do usuário logado, e retornando um array de memórias e então elas são mapeadas e organizadas na interface final. Caso esse array esteja vazio, a página sugerindo para o usuário criar uma nova memória será renderizada.
✅ Criação de nova memória
Para criar uma nova memória, basta que o usuário clique no botão cadastrar lembrança ou então, para a primeira memória clicar em 'criar agora' ao lado direito da página. Será solicitado o arquivo em mídia, um texto descritivo e um check caso seja desejado tornar a memória pública.
#
Utilizando localmentePara rodar o projeto em sua máquina local basta clonar o projeto, acessar as pastas e instalar as dependências seguindo os seguintes comandos em seu terminal de preferência:
Para o server:
git clone https://github.com/tthayza/ nlw-spacetime-ignite.git
cd nlw-spacetime-ignite
cd server
npm install
npm run devPara a web:
cd ..
cd web
npm install
npm run dev
Tecnologias Utilizadas
Esse projeto foi desenvolvido com as seguintes tecnologias:
TypeScript | TailwindCSS | React | Next.js 13 | NextAuth | Prisma | Figma | Fastify