Skip to content
thoth-idPublic

About

Uma aplicação para observação e identificação de espécies

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Bioindice

Uma "Pokédex" para seres reais: animais, plantas e fungos. A plataforma centraliza fotos de observação, pesquisas e artigos de curiosidade. Nesta primeira fase, o foco é na identificação de animais por foto.

Funcionalidades

  • 📸 Tirar ou enviar uma foto de um animal
  • 🔍 Identificar a espécie a partir da imagem
  • 🗺️ Registrar localização da observação
  • 🏆 Sistema de pontos e troféus por clado
  • 📊 Ranking global de observadores
  • 🔐 Login sem senha por código de email
  • 🔑 Login social com Google e Apple
  • 📱 Aplicativo mobile para capturar fotos

Aplicativos

Aplicativo Tecnologia Descrição
Servidor Bun + Hono + Drizzle API que controla usuários, fotos, espécies e ranking
Mobile React Native + Expo App para tirar fotos e enviar para identificação
Identificador Python + FastAPI Serviço de identificação por imagem (mockado por enquanto)

Arquitetura

Mobile → Bun/Hono API → PostgreSQL
                  ↓
           Python FastAPI
           (identificador)

Como executar

Pré-requisitos

Passo a passo

# Clone o repositório
git clone <url>
cd bioindice

# Inicie o banco de dados e o Mailpit
docker compose up -d

# Instale as dependências
bun install

# Execute as migrações do banco
cd apps/server
bun run db:migrate

# Popule o banco com espécies
bun run db:seed

# Inicie os serviços (em terminais separados)
bun run dev:server

# Mobile
cd apps/mobile
npx expo start

Acesse a API em http://localhost:3000.

Variáveis de ambiente

Copie o arquivo .env.example para .env e preencha:

DATABASE_URL=postgresql://user:password@localhost:5432/bioindice
SERVER_PORT=3000
IDENTIFIER_URL=http://localhost:4001
JWT_SECRET=mude-isso-em-producao

# Email (Mailpit em desenvolvimento)
SMTP_HOST=localhost
SMTP_PORT=1025

# OAuth
GOOGLE_CLIENT_ID=seu-client-id
GOOGLE_CLIENT_SECRET=seu-client-secret

Sobre o identificador

O serviço de identificação está mockado nesta fase. Ele retorna uma espécie aleatória do catálogo com uma confiança simulada.

Para conectar o modelo real do TCC:

  1. Coloque o arquivo .pth no projeto.
  2. Configure MODEL_PATH no .env do serviço.
  3. Substitua a função mock pela inferência real do PyTorch.

Gamificação

  • Ganhe 10 pontos para cada espécie distinta observada.
  • Desbloqueie troféus por clado (mamíferos, aves, répteis, etc.).
  • Suba no ranking global de observadores.

Estrutura do projeto

bioindice/
├── apps/
│   ├── server/        # API Bun + Hono
│   └── mobile/        # Aplicativo mobile Expo
│   └── identifier/    # Serviço Python FastAPI
├── packages/
│   └── shared-types/  # Tipos e schemas compartilhados
├── utils/
│   └── training       # Script Python para treino do modelo
└── docker-compose.yml

Licença

MIT

About

Uma aplicação para observação e identificação de espécies

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages