feat/NOUS-2 Create local database feature
Create local database feature
O que foi implementado
Database Infrastructure
- ORM: Drizzle ORM com SQLite (expo-sqlite)
- Schema: 12 tabelas relacionais com foreign keys
- Migrations: Sistema automático de versionamento
- Repositories: Padrão Repository para cada entidade
- Services: DatabaseService centralizado
Tabelas do Schema
- users - Contas de usuário e preferências de aprendizado
- folders - Organização hierárquica
- chats - Threads de conversação
- messages - Mensagens do chat
- files - Anexos das mensagens
- quizzes/questions/options - Sistema de questionários
- flashcards/cards - Sistema de flashcards
- parsed_documents - Documentos processados
- prompts/difficulties - Sistema de dificuldades e prompts
Zustand Stores
- UserStore: Gerenciamento de usuários
- ChatStore: Gerenciamento de chats, mensagens, quizzes, flashcards e documentos
- FolderStore: Organização de pastas
Como testar
-
Ativar o Database:
No arquivoApp.tsx
, descomente as linhas. -
Gerar Migrations (se modificar schema):
npx drizzle-kit generate npx drizzle-kit migrate