1. Objetivo
Adicionar ao projeto Ignite Gym:
- Integração completa com Push Notifications.
- Implementação de Deep Linking para abrir fluxos dentro do app.
- Configuração do Expo Dev Client para suporte a recursos nativos.
2. Conceitos e Regras
- Push Notifications
- Criar conta e projeto no OneSignal.
- Configurar suporte para Android (Firebase Cloud Messaging – FCM v1) e iOS (APNS com certificado
p12).
- Implementar pelo menos 3 notificações diferentes, com públicos e conteúdos variados, como:
- Motivação para retornar ao treino (ex.: “Seu último treino foi há 3 dias. Vamos treinar hoje?”).
- Notificação de novos exercícios disponíveis no app.
- Relatório semanal de atividades (quantidade de exercícios realizados).
- Convite para login/cadastro caso o usuário ainda não esteja autenticado.
- Validar envio e recebimento no dispositivo físico.
- Deep Linking
- Configurar React Navigation para gerenciar links.
- Usar o pacote uri-scheme para registrar esquemas nativos no projeto.
- Implementar pelo menos 3 deep links, incluindo:
- 1 link com parâmetro (ex.: abrir tela de detalhes de exercício passando o
id).
- Links para fluxos autenticados (usuário logado) e não autenticados.
- Implementar tratamento para rotas inexistentes (404).
- Expo Dev Client
- Configurar o projeto para usar o Expo Dev Client (substituindo o Expo Go).
- Garantir que todas as funcionalidades nativas (OneSignal, URI Scheme) funcionem dentro do novo fluxo de desenvolvimento.
3. Código da aplicação
Caso você não tenha implementado ou não queira aproveitar o código que desenvolveu em aula, você pode utilizar o que disponibilizamos no nosso Github:
GitHub - rocketseat-education/ignite-rn-04-ignite-gym
4. Desenvolvendo o projeto
Para desenvolver esse projeto, recomendamos utilizar as principais ferramentas que utilizamos durante o desenvolvimento do módulo da formação.
Caso você tenha alguma dificuldade você pode ir no nosso fórum e deixar sua dúvida por lá!
Após terminar o desafio, caso você queira, você pode tentar dar o próximo passo e deixar a aplicação com a sua cara. Tente mudar o layout, cores, ou até adicionar novas funcionalidades para ir além 🚀
5. Entrega
Após concluir o desafio, você deve enviar a URL do seu código no Github.
Além disso, que tal fazer um post no LinkedIn compartilhando o seu aprendizado e contando como foi a experiência?
É uma excelente forma de demonstrar seus conhecimentos e atrair novas oportunidades!
Obs: Se você se sentir à vontade, pode postar um print do resultado e nos marcar!
Vai ser incrível acompanhar a sua evolução! 💜
Feito com 💜 por Rocketseat 👋
1. Objetivo
Adicionar ao projeto Ignite Gym:
- Integração completa com Push Notifications.
- Implementação de Deep Linking para abrir fluxos dentro do app.
- Configuração do Expo Dev Client para suporte a recursos nativos.
2. Conceitos e Regras
- Push Notifications
- Criar conta e projeto no OneSignal.
- Configurar suporte para Android (Firebase Cloud Messaging – FCM v1) e iOS (APNS com certificado
p12).
- Implementar pelo menos 3 notificações diferentes, com públicos e conteúdos variados, como:
- Motivação para retornar ao treino (ex.: “Seu último treino foi há 3 dias. Vamos treinar hoje?”).
- Notificação de novos exercícios disponíveis no app.
- Relatório semanal de atividades (quantidade de exercícios realizados).
- Convite para login/cadastro caso o usuário ainda não esteja autenticado.
- Validar envio e recebimento no dispositivo físico.
- Deep Linking
- Configurar React Navigation para gerenciar links.
- Usar o pacote uri-scheme para registrar esquemas nativos no projeto.
- Implementar pelo menos 3 deep links, incluindo:
- 1 link com parâmetro (ex.: abrir tela de detalhes de exercício passando o
id).
- Links para fluxos autenticados (usuário logado) e não autenticados.
- Implementar tratamento para rotas inexistentes (404).
- Expo Dev Client
- Configurar o projeto para usar o Expo Dev Client (substituindo o Expo Go).
- Garantir que todas as funcionalidades nativas (OneSignal, URI Scheme) funcionem dentro do novo fluxo de desenvolvimento.
3. Código da aplicação
Caso você não tenha implementado ou não queira aproveitar o código que desenvolveu em aula, você pode utilizar o que disponibilizamos no nosso Github:
GitHub - rocketseat-education/ignite-rn-04-ignite-gym
4. Desenvolvendo o projeto
Para desenvolver esse projeto, recomendamos utilizar as principais ferramentas que utilizamos durante o desenvolvimento do módulo da formação.
Caso você tenha alguma dificuldade você pode ir no nosso fórum e deixar sua dúvida por lá!
Após terminar o desafio, caso você queira, você pode tentar dar o próximo passo e deixar a aplicação com a sua cara. Tente mudar o layout, cores, ou até adicionar novas funcionalidades para ir além 🚀
5. Entrega
Após concluir o desafio, você deve enviar a URL do seu código no Github.
Além disso, que tal fazer um post no LinkedIn compartilhando o seu aprendizado e contando como foi a experiência?
É uma excelente forma de demonstrar seus conhecimentos e atrair novas oportunidades!
Obs: Se você se sentir à vontade, pode postar um print do resultado e nos marcar!
Vai ser incrível acompanhar a sua evolução! 💜
Feito com 💜 por Rocketseat 👋