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.
Inicie o server, em seguida executa o web ou mobile.
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
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.