Skip to content

Desenvolvimento de uma cápsula do tempo, projeto realizado no evento Next Level Week Spacetime da RocketSeat. 👩🏻‍🚀

License

Notifications You must be signed in to change notification settings

tthayza/nlw-spacetime-ignite

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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