Plataforma HCD para conectar turistas a microempreendedores gastronômicos no interior de Pernambuco.
| Ambiente | URL | Quando atualiza |
|---|---|---|
| Backend Staging | https://mandaca-backend-staging.onrender.com/docs | A cada push em dev |
| Backend Production | https://mandaca-backend-production.onrender.com/docs | Release semanal (domingos 05h) |
| Frontend Web Production | https://mandaca-frontend-production.onrender.com | Release semanal (domingos 05h) |
Os servicos rodam no free tier do Render. A primeira requisicao apos um periodo de inatividade pode levar ate 1 minuto (cold start). As subsequentes sao normais.
O APK de preview e gerado automaticamente todo domingo e publicado com um link permanente. Nao e necessario compilar nada localmente.
Download direto:
https://github.com/Mandaca-App/mandaca-frontend/releases/latest/download/mandaca-preview.apk
Como instalar:
- Acesse o link acima no celular Android e baixe o APK
- Abra o arquivo baixado (se solicitado, habilite Instalar apps de fontes desconhecidas nas configuracoes)
- Conclua a instalacao normalmente
- O app ja aponta para o backend de producao
O app e compativel com Android arm64-v8a. Para ver o historico de builds e releases anteriores: Releases do Frontend
Também é possível fazer o preview dos PRs abertos no Frontend adicionando a label build-android ao PR, fazendo que seja buildado o APK e o link seja colocado em um comentário dentro do próprio PR automaticamente.
Todo domingo as 05h00 (Recife, UTC-3) os dois pipelines disparam automaticamente:
Backend
- Verifica se a branch
devtem commits novos em relacao amain - Se sim: cria PR de
dev -> main, aguarda o CI passar (lint + testes + cobertura) e faz o merge automaticamente - Apos o merge: cria tag SemVer e publica GitHub Release com changelog dos PRs da semana
Frontend Android
- Le o arquivo
VERSIONna raiz do repositorio - Dispara um build EAS no Expo (perfil
preview, APK arm64) - Aguarda a conclusao do build (~5-10 min)
- Baixa o APK e publica GitHub Release com tag SemVer, APK anexado e links de producao
Ambos os repositorios usam um arquivo VERSION na raiz para controle de versao:
| Tipo | Regra | Exemplo |
|---|---|---|
| PATCH | Auto-incrementado pelo workflow se nenhum bump manual foi feito na semana | 0.1.0 -> 0.1.1 |
| MINOR | Bump manual pelo dev ao entregar uma feature nova (editar VERSION antes do domingo) |
0.1.x -> 0.2.0 |
| MAJOR | Bump manual ao atingir estabilidade de API ou breaking change | 0.x.x -> 1.0.0 |
As versoes 0.x.x representam o periodo beta da plataforma. O PATCH reseta para 0 sempre que MINOR ou MAJOR sobe.
O Mandacá é uma aplicação mobile com foco em Human-Centered Design (HCD), desenvolvida para dar visibilidade a microempreendedores gastronômicos do interior de Pernambuco e conectá-los a turistas da região. O projeto prioriza alta acessibilidade, incluindo suporte a IA e Text-to-Speech.
┌─────────────────────────────────────┐
│ Aplicativo Mobile │
│ React Native + Expo (iOS/Android) │
└────────────────┬────────────────────┘
│ HTTP / REST
┌────────────────▼────────────────────┐
│ API REST │
│ FastAPI (Python 3.10+) │
└────────────────┬────────────────────┘
│ SQL (via Supabase)
┌────────────────▼────────────────────┐
│ Banco de Dados │
│ Supabase (PostgreSQL) │
└─────────────────────────────────────┘
| Repositório | Descrição | Tecnologias |
|---|---|---|
| mandaca-frontend | Aplicativo mobile multiplataforma (iOS & Android) | React Native · Expo · TypeScript · NativeWind |
| mandaca-backend | API REST com documentação automática e migrações | Python · FastAPI · Supabase · Docker · Alembic |
| Tecnologia | Descrição |
|---|---|
| React Native | Framework para aplicativos mobile multiplataforma |
| Expo | Plataforma e toolchain para React Native |
| TypeScript | Tipagem estática para JavaScript |
| NativeWind | Tailwind CSS para React Native |
| Tecnologia | Descrição |
|---|---|
| Python 3.10+ | Linguagem principal do backend |
| FastAPI | Framework web moderno e de alta performance |
| Supabase | Banco de dados PostgreSQL gerenciado |
| Alembic | Migrações de banco de dados |
| Docker | Conteinerização e orquestração do ambiente |
- Node.js (LTS) e npm
- Python 3.10+ e pip
- Git
- Docker (para o backend)
git clone https://github.com/Mandaca-App/mandaca-frontend.git
cd mandaca-frontend
npm install
cp .env.example .env
# Edite o .env com as configurações necessárias
npx expo startAbra o Expo Go no celular e escaneie o QR Code exibido no terminal.
git clone https://github.com/Mandaca-App/mandaca-backend.git
cd mandaca-backend
python -m venv .venv
source .venv/bin/activate # Linux / macOS
pip install -r requirements.txt
cp .env.example .env
# Edite o .env com as credenciais do banco e demais configurações
alembic upgrade head
uvicorn app.main:app --reloadA documentação interativa da API estará disponível em http://localhost:8000/docs.
- Crie uma branch a partir de
dev(backend) oudevelop(frontend) seguindo o padrãofeature/SCRUM-ID-descricao - Faça suas alterações com commits atômicos no formato
SCRUM-ID tipo: mensagem - Abra um Pull Request com descrição clara referenciando o ticket do Jira
- Aguarde a revisão e aprovação de ao menos 1 reviewer
Este projeto está licenciado sob a licença MIT — veja o arquivo LICENSE para mais detalhes.