Skip to content

paulinha-19/abayomi

Repository files navigation

Abayomi

Abayomi Logo

Abayomi é um aplicativo mobile desenvolvido para empoderar jovens estudantes, especialmente mulheres negras, em sua jornada educacional e de autodescoberta. O nome "Abayomi" vem do Yorubá e significa "encontro precioso" ou "aquele que traz alegria", representando o propósito do app: ser um companheiro de apoio e motivação.

📱 Sobre o Projeto

O Abayomi é uma plataforma que combina ferramentas de planejamento, motivação e apoio educacional, focando principalmente na preparação para o ENEM e no desenvolvimento pessoal de suas usuárias.

✨ Funcionalidades

🏠 Home

  • Saudação personalizada com o nome do usuário
  • Frases motivacionais em carrossel rotativo
  • Ações rápidas para acesso direto às principais funcionalidades:
    • 📚 Estudos para o ENEM
    • 💬 Conversa comigo (em breve)
    • ✨ O que você quer ser? (orientação vocacional)

👤 Abayomi (Perfil de Avatar)

  • Escolha e personalização do seu avatar Abayomi
  • Galeria de avatares representativos
  • Atualização em tempo real do perfil

📅 Planner

  • Gerenciamento de tarefas e notas
  • Calendário integrado para organização
  • Visualização por agenda
  • Adicionar, editar e excluir itens
  • Sistema de busca de tarefas e notas
  • Categorização por datas

🔐 Autenticação

  • Sistema completo de autenticação com Firebase
  • Login e cadastro de usuários
  • Recuperação de senha
  • Armazenamento seguro de dados

👩‍🎓 Perfil

  • Gerenciamento de informações pessoais
  • Histórico de atividades
  • Configurações personalizadas

🛠️ Tecnologias Utilizadas

Core

  • React Native (0.81.5) - Framework mobile
  • Expo (~54.0.20) - Plataforma de desenvolvimento
  • TypeScript (~5.9.2) - Linguagem de programação
  • Expo Router (~6.0.13) - Navegação file-based

UI/Styling

  • NativeWind (^4.2.1) - Tailwind CSS para React Native
  • TailwindCSS (^3.4.18) - Framework CSS utility-first
  • Expo Symbols - Ícones e símbolos
  • @expo/vector-icons - Biblioteca de ícones

Backend & Database

  • Firebase (^12.4.0)
    • Firebase Auth - Autenticação de usuários
    • Firestore - Banco de dados NoSQL
  • @react-native-firebase/app (^23.5.0)

State Management & Data Fetching

  • Zustand (^5.0.8) - Gerenciamento de estado
  • @tanstack/react-query (^5.90.5) - Data fetching e cache
  • @react-native-async-storage/async-storage - Armazenamento local

Forms & Validation

  • React Hook Form (^7.65.0) - Gerenciamento de formulários
  • Zod (^3.25.76) - Validação de schemas
  • @hookform/resolvers (^5.2.2) - Resolvers para validação

Funcionalidades Adicionais

  • expo-image - Carregamento otimizado de imagens
  • react-native-calendars - Componente de calendário
  • @react-native-community/datetimepicker - Seletor de data/hora
  • expo-secure-store - Armazenamento seguro

🚀 Como Começar

Pré-requisitos

  • Node.js (versão 18 ou superior)
  • npm ou yarn
  • Expo CLI
  • Conta no Firebase (para funcionalidades backend)

Instalação

  1. Clone o repositório:

    git clone https://github.com/paulinha-19/abayomi.git
    cd abayomi
  2. Instale as dependências:

    npm install
  3. Configure o Firebase:

    • Crie um projeto no Firebase Console
    • Adicione os arquivos de configuração:
      • google-services.json (Android) na raiz do projeto
      • GoogleService-Info.plist (iOS) na raiz do projeto
    • Ative Authentication, Firestore e Crashlytics no console
  4. Inicie o servidor de desenvolvimento:

    npx expo start

Executando o App

Após executar npx expo start, você verá opções para abrir o app:

  • Android: Pressione a para abrir no emulador Android
  • iOS: Pressione i para abrir no simulador iOS (apenas macOS)
  • Web: Pressione w para abrir no navegador
  • Expo Go: Escaneie o QR code com o app Expo Go no seu celular

📂 Estrutura do Projeto

abayomi/
├── app/                      # Rotas e telas do aplicativo
│   ├── (auth)/              # Fluxo de autenticação
│   │   ├── (signup)/        # Processo de cadastro
│   │   ├── signin.tsx       # Tela de login
│   │   ├── forgot-password.tsx
│   │   └── reset-password.tsx
│   ├── (tabs)/              # Navegação por abas
│   │   ├── (home)/          # Tela inicial
│   │   ├── (abayomi)/       # Seleção de avatar
│   │   ├── (planner)/       # Planejador de tarefas
│   │   └── (profile)/       # Perfil do usuário
│   ├── _layout.tsx          # Layout raiz
│   └── index.tsx            # Splash screen
├── components/              # Componentes reutilizáveis
├── constants/               # Constantes da aplicação
├── contexts/                # Contextos React
├── data/                    # Dados estáticos
├── helpers/                 # Funções auxiliares
├── hooks/                   # Custom hooks
├── schemas/                 # Schemas de validação (Zod)
├── store/                   # Estado global (Zustand)
├── types/                   # Definições de tipos TypeScript
├── utils/                   # Utilitários
└── assets/                  # Imagens, fontes e outros recursos

🎨 Design e UX

O Abayomi utiliza uma paleta de cores vibrante centrada no roxo (#792db8, #7C3AED), representando força, criatividade e espiritualidade. O design é pensado para ser:

  • Acolhedor: Interface amigável e motivacional
  • Intuitivo: Navegação clara e direta
  • Inclusivo: Avatares representativos e linguagem empática
  • Responsivo: Adaptável a diferentes tamanhos de tela

📜 Scripts Disponíveis

npm start          # Inicia o servidor Expo
npm run android    # Executa no Android
npm run ios        # Executa no iOS
npm run web        # Executa no navegador
npm run lint       # Executa o linter

🤝 Contribuindo

Contribuições são bem-vindas! Se você deseja contribuir com o projeto:

  1. Faça um fork do repositório
  2. Crie uma branch para sua feature (git checkout -b feature/MinhaFeature)
  3. Commit suas mudanças (git commit -m 'Adiciona MinhaFeature')
  4. Push para a branch (git push origin feature/MinhaFeature)
  5. Abra um Pull Request

📄 Licença

Este projeto é privado e pertence à @paulinha-19.

💜 Agradecimentos

Obrigada a todas as pessoas que acreditam no poder da educação como ferramenta de transformação social e que apoiam a jornada de jovens em busca de seus sonhos.


Desenvolvido com 💜 por paulinha-19

Releases

No releases published

Packages

No packages published