Skip to content

Challenge-1FSDT/mobile-react

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 

Repository files navigation

Tech Challenge 04 - FIAP Blog

Arquivos de para avaliação (video)

Google Drive da documentação resumida
GitHub
APK de demonstração

Grupo 14 - Membros

  • RM353230 Anelise Estevam
  • RM355290 Anderson da Silva Machado
  • RM354725 Gustavo Fonseca
  • RM354782 João Pedro Sanches Luciano

Data de entrega

  • 03/12/2024

QRCode e Link para download do APK

QR Code para Download do APK
Clique aqui para baixa

Requisitos

Funcionais

Requisitos funcionais A interface gráfica deve incluir as seguintes páginas e funcionalidades:

  1. Página principal (lista de posts)

    • - Exibir uma lista de todos os posts disponíveis.
    • - Cada item da lista deve mostrar o título, autor e uma breve descrição do post.
    • - Incluir um campo de busca para filtrar posts por palavras-chave.
  2. Página de leitura de post

    • - Exibir o conteúdo completo de um post selecionado.
    • - Permitir comentários nos posts (opcional).
  3. Página de criação de postagens

    • - Formulário para que professores possam criar postagens.
    • - Campos para título, conteúdo e autor.
    • - Botão para enviar o post ao servidor.
  4. Página de edição de postagens

    • -Formulário para que docentes possam editar postagens existentes.
    • - Carregar os dados atuais do post para edição.
    • - Botão para salvar as alterações.
  5. Página de criação de professores

    • - Formulário para que professores possam cadastrar outros professores.
    • - Botão para enviar o post ao servidor.
  6. Página de edição de professores

    • - Formulário para que professores possam editar docentes já cadastrados.
    • - Botão para salvar as alterações.
  7. Página de listagem de professores

    • - Página para listagem paginada dos professores e, nas tabelas para cada professor, teremos um botão de editar que leva para a página de edição e um botão de excluir que vai deletar o docente do sistema.
  8. Replique os requisitos 5, 6 e 7 para estudantes

    • - Seguindo o padrão de páginas administrativas feitas para professores, faça o mesmo para alunos.
  9. Página administrativa

    • - Exibir uma lista de todas as postagens, com opções para editar e excluir cada post.
    • - Botões para editar e excluir postagens específicas.
  10. Autenticação e autorização

  • - Implementar login para professores.
  • - Garantir que apenas usuários autenticados possam acessar as páginas de criação, edição e administração de postagens.

Requisitos técnicos

  1. Desenvolvimento em React Native

    • - Utilizar React Native para desenvolver a interface gráfica do aplicativo.
    • - Utilização de hooks e componentes funcionais.
  2. Estilização

    • - Estilizar o projeto de acordo com layout definido pelo grupo.
  3. Integração com Back-End

    • - Realizar chamadas aos endpoints REST para obter, criar, editar e excluir posts.
    • - Realizar chamadas aos endpoints REST para obter, criar, editar e excluir alunos.
    • - Realizar chamadas aos endpoints REST para obter, criar, editar e excluir professores.
    • - Realizar chamadas aos endpoints REST para autenticação.
    • - Validar permissão para professores e alunos, onde professores podem modificar/criar um post e os alunos podem apenas visualizar.
    • - Gerenciar o estado da aplicação com ferramentas como Context API ou Redux (opcional).
  4. Documentação

    • - Documentação técnica detalhada do mobile no README do repositório, incluindo setup inicial, arquitetura da aplicação e guia de uso.

Principais Tecnologias

Arquitetura do Projeto em React Native

A arquitetura do nosso projeto em React Native foi pensada para facilitar o desenvolvimento e garantir uma boa performance. Utilizamos ferramentas como Expo, React Router, e outras bibliotecas para estruturar o app de maneira eficiente.

  • Gerenciamento de Navegação com React Router
    Optamos por usar o React Router para navegação entre as telas. Ele foi a solução ideal para o nosso caso, já que oferece flexibilidade e uma configuração simples de rotas, tanto para iOS, Android, quanto para Web. A navegação foi organizada de forma modular, aproveitando a estrutura de pastas do projeto, o que torna a gestão das rotas mais clara e fácil de manter. Além disso, os layouts reutilizáveis permitem que partes da interface, como cabeçalhos ou menus, sejam compartilhadas entre diferentes rotas sem complicação.

  • Expo
    A escolha do Expo foi fundamental para acelerar o desenvolvimento. Ele oferece uma série de ferramentas prontas para uso, como Expo-Icons, Expo-Constants, e Expo-Splash-Screen, que ajudam a reduzir o tempo de desenvolvimento. Além disso, usamos o Expo Router para configurar as rotas de maneira simples e prática, integrando bem com o React Router.

  • Persistência de Dados com AsyncStorage
    Para garantir que dados importantes, como o token de autenticação ou preferências do usuário, sejam mantidos entre as sessões, usamos o AsyncStorage. Ele é simples de implementar e essencial para evitar que o usuário precise se autenticar novamente ou perder dados ao fechar o app.

Entrega

    • Código-Fonte: repositório GitHub com o código do projeto, incluindo Dockerfiles e scripts de CI/CD.
    • Apresentação Gravada: demonstração em vídeo do funcionamento da aplicação, incluindo detalhes técnicos de implementação.
    • Documentação: documento descrevendo a arquitetura do sistema, uso da aplicação e relato de experiências e desafios enfrentados pela equipe durante o desenvolvimento.

Installation

$ npm install

Running the app

# development
$ npm start

About

Projeto Básico em React com Ionic

Resources

Stars

Watchers

Forks

Packages

No packages published