Skip to content
@Mandaca-App

Mandacá

University project by UFRPE students focused on building a digital platform for listing, managing, and recommending local gastronomic businesses in Pernambuco.

🌵 Mandacá App 🧑‍🍳

Plataforma HCD para conectar turistas a microempreendedores gastronômicos no interior de Pernambuco.

Frontend Backend License


Ambientes de Deploy

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.


Instalar o App Android

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:

  1. Acesse o link acima no celular Android e baixe o APK
  2. Abra o arquivo baixado (se solicitado, habilite Instalar apps de fontes desconhecidas nas configuracoes)
  3. Conclua a instalacao normalmente
  4. 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.


Pipeline de Releases

Todo domingo as 05h00 (Recife, UTC-3) os dois pipelines disparam automaticamente:

Backend

  • Verifica se a branch dev tem commits novos em relacao a main
  • 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 VERSION na 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

Versionamento SemVer

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.


Sobre o Projeto

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.


Arquitetura

┌─────────────────────────────────────┐
│        Aplicativo Mobile            │
│  React Native + Expo (iOS/Android)  │
└────────────────┬────────────────────┘
                 │ HTTP / REST
┌────────────────▼────────────────────┐
│            API REST                 │
│       FastAPI (Python 3.10+)        │
└────────────────┬────────────────────┘
                 │ SQL (via Supabase)
┌────────────────▼────────────────────┐
│         Banco de Dados              │
│        Supabase (PostgreSQL)        │
└─────────────────────────────────────┘

Repositórios

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

Stack Tecnológica

Frontend

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

Backend

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

Início Rápido

Pré-requisitos

Rodando o Frontend

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 start

Abra o Expo Go no celular e escaneie o QR Code exibido no terminal.

Rodando o Backend

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 --reload

A documentação interativa da API estará disponível em http://localhost:8000/docs.


Contribuindo

  1. Crie uma branch a partir de dev (backend) ou develop (frontend) seguindo o padrão feature/SCRUM-ID-descricao
  2. Faça suas alterações com commits atômicos no formato SCRUM-ID tipo: mensagem
  3. Abra um Pull Request com descrição clara referenciando o ticket do Jira
  4. Aguarde a revisão e aprovação de ao menos 1 reviewer

Licença

Este projeto está licenciado sob a licença MIT — veja o arquivo LICENSE para mais detalhes.

Pinned Loading

  1. mandaca-backend mandaca-backend Public

    API do Mandacá — backend para gerenciamento do projeto.

    Python 2

  2. mandaca-frontend mandaca-frontend Public

    TypeScript 2

Repositories

Showing 3 of 3 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…