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

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
npx expo login

Use as mesmas credenciais da conta criada no site do Expo Go

  1. Iniciar o app (modo desenvolvimento)
npm run start

Pressione “s” para Expo Go emulador e escanei o QR Code.

  • Android: escanei usando o app do Expo Go
  • iPhone: escanei usando a câmera do celular

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 Expo Router docs

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