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
  • arquitetura

Last edited by Matheus Machado Berwaldt Sep 30, 2025
Page history
This is an old version of this page. You can view the most recent version or browse the history.

arquitetura

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

Arquitetura

Esta página centraliza informações sobre o arquitetura do projeto e a infraestrutura da AWS utilizada para execução do projeto.

Sumário

  • Diagrama de deploy
  • Ambientes utilizados
  • Arquitetura geral da aplicação
    • Backend
    • Frontend

Diagrama de deploy

image

Ambientes utilizados

image

Utilizaremos o Visual Studio Code tanto no Backend quanto no Frontend

Arquitetura geral da aplicação

Backend

Visão Geral

Backend desenvolvido em Java Spring Boot para gerenciamento de End-points. Segue uma arquitetura limpa com separação clara de camadas.

Arquitetura

image

Estrutura de Pastas

image

Como Executar

Pré-requisitos

  • Java 17+
  • Maven
  • Docker (opcional)

Comandos Úteis

Executar localmente:

cd pointtils
./mvnw spring-boot:run

Buildar e executar com Docker:

docker-compose up --build

Executar testes:

./mvnw test

Gerar documentação Swagger: Documentação disponível no seguinte endereço:

https://backend-v5gs.onrender.com/swagger-ui/index.html

Frontend

Aplicativo móvel em React Native + Expo com theming (light/dark), roteamento por arquivos (expo-router) e estilização com NativeWind/Tailwind.

  • Plataforma: Android
  • Linguagem: TypeScript
  • Navegação: React Navigation + Expo Router
  • UI: NativeWind + Gluestack UI overlay/toast + Lucid icons

Requisitos

  • Node.js LTS ≥ 22.17.0
  • npm ≥ 10
  • dispositivo Android/iOS
  • Conta no Expo: https://expo.dev

Observação: A CI usa Node 20, mas o desenvolvimento local recomenda Node 22 LTS.

Primeiros passos

  1. Instalar dependencias
npm install
  1. Instalar EAS CLI
npm install --global eas-cli
  1. Autenticar no Expo/EAS
eas login
eas whoami
  1. Iniciar o app (modo desenvolvimento)
npm run start
  • Pressione “a” para Android (emulador) ou escanei o QR Code no Expo Go.

Scripts úteis

  • Lint: npm run lint
  • Formatação (checar): npm run format:check
  • Formatação (corrigir): npm run format:write
  • Verificação de dependencias: depcheck
  • Diagnóstico: npx expo-doctor
  • Type-check: npx tsc --noEmit

Estrutura de Pastas

image

UI e Theming

  • Tema global via contexts/ThemeProvider.tsx que integra:
    • React Navigation ThemeProvider
    • GluestackUIProvider (NativeWind vars)
  • Cores centralizadas em constants/Colors.ts
  • Tailwind estendido com variáveis (CSS vars) em
    • components/ui/gluestack-ui-provider/config.ts
    • tailwind.config.js

Navegação

O roteamento é baseado em arquivos (expo-router), mais informações sobre o funcionamento em https://docs.expo.dev/router/basics/core-concepts/#4-root-_layouttsx-replaces-appjsxtsx

Padrões de código

  • TypeScript strict (tsconfig.json)
  • ESLint + Prettier (eslint.config.js, .prettierrc)
  • Strings com aspas simples
  • Componentes funcionais e hooks idiomáticos
  • Evitar estilos inline (usar Tailwind/NativeWind)

CI/CD

  • PR Checks: lint, type-check, prebuild Android/iOS, depcheck, audit, expo-doctor
    • Workflow: .github/workflows/pr_checks.yml
  • Nightly Build Android com EAS:
    • Workflow: .github/workflows/nightly_build.yml
    • Publica release no GitHub e anexa APK quando disponível
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