/NLW-capsula-do-tempo

Projeto da NLW Spacetime, utilizando as tecnologias NextJs, Tailwind CSS, Prisma, Fastify, Expo, OAuth e React Native.

Primary LanguageTypeScript

Capsula do Tempo

Preview

Projeto desenvolvido no evento NLW Spacetime da Rocketseat. Consiste em um projeto de uma capsula do tempo, onde usuários podem se autenticar usando sua conta GitHub, pela tecnologia OAuth, e postar mensagens para serem lidas no futuro.

O projeto consiste em três partes:

  • server: a backend do proejeto, desenvolvida usando Node.js, Fastify e Prisma. Ele é responsável por receber as requesições dos clientes, e salva-las no banco de dados.

  • web: a frontend web do projeto, desenvolvida usando React.js, Next.js e Tailwind CSS. O usuário pode visualizar mensagens públicas, se autehnticar e postar mensagens.

  • mobile: frontend mobile do projeto, desenvolvida usando React Native e Expo. O usuário pode visualizar mensagens públicas, se autehnticar e postar mensagens.

Executando o Projeto

Inicie o server, em seguida executa o web ou mobile.

Server

Acesse o Server

cd server

Instale as dependências:

npm install

Nas configurações do GitHub, crie um OAuth App e informe as variáveis de ambiente no arquivo .env:

GITHUB_CLIENT_ID=""
GITHUB_CLIENT_SECRET=""

Use o Prisma para criar as tabelas

npx prisma migrate dev

Inicie o Serviço:

npm run dev

Web

Com o Server Iniciado, acesse o projeto Web:

cd .. && cd web

Instale as dependências:

npm install

Informe a variável de ambiente do GitHub client id (o mesmo que o do servidor) no arquivo .env.local:

NEXT_PUBLIC_GITHUB_CLIENT_ID=
npm run dev

Acesse http://localhost:3000 para acessar a aplicação web.

Tecnologias