NLW Space time é uma aplicação de Cápsula de tempo, com objetivo de registrar memórias e visualizar memórias, e permitir que o usuário veja sua progressão ao decorrer do tempo. Essa aplicação conta com desenvolvimento de aplicações Web, Mobile e API RESTfull e conta com um UX design e incrível no frontend, e uma API consistente com as melhores praticas para desenvolvimento backend com Nodejs. Essa aplicação foi criada dentro do evento da NLW (Next Level Week), promovida pela Rocketseat .
- Typescript
- NodeJS
- React
- React Native
- Expo
- NextJS
- NativeWind
- Tailwindcss
- Tailwindcss
- Axios
- JWT
- Fastify
- Prisma
- NodeJS >= 18.16.0
- npm
- Expo >= 48.0.0
- Expo Go
Acesse a pasta server e e execute o comando no terminal para instalar as dependências
npm install
Dentro da pasta server, há um arquivo .env.example, com variáveis de ambientes necessários antes de iniciar o servidor. Crie um arquivo com o nome .env e copie o conteúdo de .env.example em .env
cp .env.example .env
OBS: A aplicação depende das variáveis de ambiente de GITHUB_CLIENT_ID e GITHUB_CLIENT_SECRET para efetuar sign in e/ou sign up com Oauth do Github. para isso, é preciso criar dois OAuth Apps no Github para coletar as chaves necessárias para preencher as variáveis de ambiente em seu arquivo .env.
Feito isso, basta executar o servidor
npm run dev
Para visualizar a documentação e rotas disponíveis da API, basta acessar o endereço http://localhost:3333/docs para acessar o Swagger da aplicação.
Acesse a pasta mobile e e execute o comando no terminal para instalar as dependências
npm install
Feito instalação de dependências, execute a aplicação mobile com o comando no terminal
npx expo start
Após executar o comando, abra a aplicação em seu device de sua preferencia. Caso tenha um dispositivo físico, tenha o app Expo Go disponível na Play Store ou App Store, abra a camera do dispositivo e aponte a camera para o QR Code disponível no terminal ao executar comando.
Caso execute em um emulador Android, basta pressionar tecla a para abrir o emulador android.
Caso execute em um emulador iOS, certifique que possua um MacBook,e com isso, basta pressionar tecla i para abrir o emulador iOS.
Acesse a pasta web e e execute o comando no terminal para instalar as dependências
npm install
Dentro da pasta web, há um arquivo .env.local.example, com variáveis de ambientes necessários antes de iniciar a aplicação. Crie um arquivo com o nome .env.local e copie o conteúdo de .env.example em .env
cp .env.local.example .env.local
Preenchido as variáveis de ambiente devidamente conforme orientado nas observações acima, basta executar a aplicação com o comando no terminal
npm run dev