Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • Point-Tills-Wiki Point-Tills-Wiki
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Infrastructure Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Point Tils um aplicativo para interpretes de Lingua Brasileira de Sinais
  • Point-Tills-WikiPoint-Tills-Wiki
  • Wiki
  • frontend

Last edited by Bianca da Silva Alves Aug 25, 2025
Page history
This is an old version of this page. You can view the most recent version or browse the history.

frontend

Home Escopo Processo Design/Mockups Configuração Arquitetura Gerência BD Qualidade Frontend Backend

Frontend

Esta página centraliza informações sobre o repositório Frontend do projeto Point Tils.

Sumário

  • Escolha de tecnologias
  • Organização do repositório
  • Padrões de código
  • Acessibilidade

Escolha de tecnologias

A definição da tecnologia para o desenvolvimento do frontend do projeto foi realizada de forma colaborativa, por meio de uma votação entre os membros da equipe. O critério adotado levou em consideração a familiaridade prévia dos desenvolvedores com as ferramentas, buscando otimizar a curva de aprendizado e acelerar a fase inicial de desenvolvimento.

Assim, a equipe optou por utilizar React Native com TypeScript, principalmente pelos seguintes fatores:

  • Familiaridade da equipe: a maioria dos membros já possuía experiência com React/React Native, o que reduziu a necessidade de treinamentos extensivos.

  • Robustez do TypeScript: o uso de TypeScript traz benefícios como tipagem estática, maior confiabilidade do código e facilidade de manutenção.

  • Comunidade e ecossistema: a tecnologia conta com uma comunidade ampla, vasta documentação e bibliotecas consolidadas, o que facilita a resolução de problemas e a incorporação de novas funcionalidades.

Essa decisão refletiu um equilíbrio entre praticidade, produtividade e qualidade do software, garantindo que a equipe pudesse se concentrar mais na implementação das funcionalidades e menos em aprender do zero uma nova tecnologia.

Organização do repositório

O projeto React Native do repositório de Frontend está organizado seguindo um padrão de componentização. Essa abordagem envolve a divisão da interface do usuário em componentes modulares e reutilizáveis, que são então compostos para formar as diversas telas ou páginas do aplicativo. Dessa forma, tendo um componente podemos passar parametros com o que quisermos ter e trabalhar na tela. As telas tem um comportamento semelhante, dado que elas são chamadas a partir de um arquivo que irá realizar o controle de roteamento do usuário passando as informações necessárias para que se possa executar as funcionalidades da aplicação.

Diante disso, os pacotes do projeto estão divididos da forma abaixo:

  • 📁 app/: Telas e layouts principais.

  • 📁 src/

    • 📁 assets/: Recursos estáticos como imagens e fontes.
    • 📁 components/: Componentes reutilizáveis, incluindo:
      • 📁 ui/: Componentes específicos do GlueStack.
    • 📁 constants/: Constantes globais, como cores e strings.
    • 📁 contexts/: Providers e contextos globais.
    • 📁 hooks/: Hooks compartilhados para lógica reutilizável.
    • 📁 types/: Definições de tipos TypeScript.

    +: Arquivos de configuração do projeto, como tailwind.config.js, eslint.config.js, e tsconfig.json

Padrões de código

Com intuito de manter legibilidade e consistência no código a seguir estão algumas padronizações definidas.

Nomenclatura de funções e variáveis

Funções do projeto devem ser nomeadas em inglês e seguir o padrão camelCase, ou seja, devem iniciar com letra maiúscula e cada palavra ou abreviatura no meio da frase também deve iniciar com letra maiúscula. Por exemplo:

  • variableExample ✔
  • Variable_Example ❌
  • Variableexample ❌
  • VariableExample ❌

Nomenclatura de componentes

Componentes do projeto devem ser nomeadas em inglês e seguir o padrão PascalCase, ou seja, devem iniciar com letra maiúscula e cada palavra ou abreviatura no meio da frase também deve iniciar com letra maiúscula. Além disso, o nome do arquivo e da função de retorno do componente deve seguir o padrão {O que é o componente?}.tsx. Por exemplo:

  • InputText.tsx ✔
  • Input_Text_Component.tsx ❌
  • Inputtext.tsx ❌
  • inputText.tsx ❌

Nomenclatura de telas

Telas do projeto devem ser nomeadas em inglês e seguir o padrão PascalCase, ou seja, devem iniciar com letra maiúscula e cada palavra ou abreviatura no meio da frase também deve iniciar com letra maiúscula. Além disso, o nome do arquivo e da função de retorno da tela deve seguir o padrão {O que é a tela?}.tsx. Por exemplo:

  • CreateAccount.tsx ✔
  • Create_Account.tsx ❌
  • Createaccount.tsx ❌
  • createAccount.tsx ❌

Documentação de componentes e telas

Para que outras pessoas que forem olhar como utilizar seu componente ou tela é importante que elas entendam o que cada parâmetro quer dizer. Com isso, vem a importância da documentação de parâmetros de componentes e telas a fim de proporcionar uma compreensão rápida e evitar erros. Embora o nome da variável muitas vezes deixe explícito o que ela faz, outras vezes pode ser que não esteja tão claro assim. Dessa forma, isso leva a um custo de a pessoa ter de analisar o código para entender o que X valor significa.

Assim, para cada componente e tela, visto que componentes serão chamados múltiplas vezes e telas serão chamadas no roteamento, é importante seguir o seguinte padrão de documentação no começo do arquivo .tsx de cada um:

  • breve descrição do que o componente/tela é responsável
  • parametros do componente/tela e descrição do que eles representam
  • exemplo de chamada do componente/tela

Veja esse exmplo:

/**
 * Componente de modelo que cria um texto
 *
 * @param text       Texto principal do componente
 * @example          <ComponentExample text={"teste"} />
 */

Acessibilidade

TODO

Clone repository

Logo-Dark_Blue

Point Tils


Home

Arquitetura

Backend

Banco de Dados

Configuração

Design/Mockups

Escopo

Frontend

Gerência

Processo

Qualidade


Sprint 0

Sprint 1

Sprint 2

Sprint 3

Sprint 4