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.
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.
- 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)
- Escolha e personalização do seu avatar Abayomi
- Galeria de avatares representativos
- Atualização em tempo real do perfil
- 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
- Sistema completo de autenticação com Firebase
- Login e cadastro de usuários
- Recuperação de senha
- Armazenamento seguro de dados
- Gerenciamento de informações pessoais
- Histórico de atividades
- Configurações personalizadas
- 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
- 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
- Firebase (^12.4.0)
- Firebase Auth - Autenticação de usuários
- Firestore - Banco de dados NoSQL
- @react-native-firebase/app (^23.5.0)
- 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
- 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
- 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
- Node.js (versão 18 ou superior)
- npm ou yarn
- Expo CLI
- Conta no Firebase (para funcionalidades backend)
-
Clone o repositório:
git clone https://github.com/paulinha-19/abayomi.git cd abayomi -
Instale as dependências:
npm install
-
Configure o Firebase:
- Crie um projeto no Firebase Console
- Adicione os arquivos de configuração:
google-services.json(Android) na raiz do projetoGoogleService-Info.plist(iOS) na raiz do projeto
- Ative Authentication, Firestore e Crashlytics no console
-
Inicie o servidor de desenvolvimento:
npx expo start
Após executar npx expo start, você verá opções para abrir o app:
- Android: Pressione
apara abrir no emulador Android - iOS: Pressione
ipara abrir no simulador iOS (apenas macOS) - Web: Pressione
wpara abrir no navegador - Expo Go: Escaneie o QR code com o app Expo Go no seu celular
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
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
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 linterContribuições são bem-vindas! Se você deseja contribuir com o projeto:
- Faça um fork do repositório
- Crie uma branch para sua feature (
git checkout -b feature/MinhaFeature) - Commit suas mudanças (
git commit -m 'Adiciona MinhaFeature') - Push para a branch (
git push origin feature/MinhaFeature) - Abra um Pull Request
Este projeto é privado e pertence à @paulinha-19.
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
