An open API service indexing awesome lists of open source software.

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. 👩🏻‍🚀

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 localmente

Para 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 dev

Para 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