Melhoria no funcionamento do histórico, Os nomes no dashboard do aluno carregam a primeira vez e ficam salvos para n ficarem sempre a carregar quando se volta ao dashboard, removi o butão de novo chat na interface de introdução da IA, mudei a aparencia dessa introdução e do histórico

This commit is contained in:
2026-05-23 16:20:27 +01:00
parent 7ee262f4c7
commit 895ce64c6f
22 changed files with 1330 additions and 582 deletions

View File

@@ -7,6 +7,47 @@
## [Unreleased]
### Added
- **Comprehensive Quiz System** - quiz_list_page.dart, teacher_quiz_page.dart, quiz_page.dart
- AI-powered quiz generation from uploaded materials
- Multiple choice question type implementation
- Scoring system with immediate feedback
- Progress tracking and results display
- Quiz history and retry functionality
- Teacher quiz management interface
- Student quiz taking interface
- Quiz categories by material and class
- Integration with gamification service
- **Analytics System** - analytics_page.dart, class_analytics_card.dart, class_ranking_widget.dart
- Teacher analytics dashboard with class breakdowns
- Student rankings and performance metrics
- Class statistics and progress tracking
- Achievement system integration
- Gamification service implementation
- Create achievement dialog for teachers
- **Smart Back Navigation in Chat History** - chat_history_page.dart & tutor_chat_page_simple.dart
- Intelligent back navigation based on entry point (chat vs intro)
- PopScope for Android back gesture handling
- Source parameter (chat/intro) and conversationId in URL
- **Material Names Display in Chat History** - chat_history_page.dart
- Replaced raw material IDs with readable file names
- Added _materialNamesCache for ID-to-name mappings
- Material names truncated to 20 characters if too long
- **Filter Conversations with User Messages Only** - chat_memory_service.dart
- Added hasUserMessage field to conversation documents
- Prevents empty conversations from appearing in history
- **Dashboard Data Caching** - progress_hero_widget.dart & student_dashboard_page.dart
- Caching for user stats to prevent flickering on navigation
- Caching for user name to prevent flickering on navigation
- Shows cached data while loading new data in background
- **Profile Edit Integration** - profile_edit_page.dart
- Calls StudentDashboardPage.clearCachedUserName() when profile is updated
- **Teacher Materials Page (Upload Conteúdo)** - Nova tela dedicada para upload de materiais para a IA
- Novo ficheiro: `lib/features/materials/presentation/pages/teacher_materials_page.dart`
- Acedida através do card "Upload Conteúdo" no dashboard do professor (usando `Navigator.push`)

View File

@@ -22,21 +22,21 @@ This document tracks the overall progress of the AI Study Assistant project deve
### **Overall Progress: 85% Complete**
### **Overall Progress: 95% Complete**
-**Foundation:** 100% Complete
-**UI/UX:** 95% Complete
-**UI/UX:** 99% Complete
-**Internationalization:** 100% Complete
-**Authentication:** 100% Complete
-**Core Features:** 75% Complete
-**Core Features:** 95% Complete
-**Backend Integration:** 80% Complete
-**Backend Integration:** 95% Complete
@@ -96,7 +96,31 @@ This document tracks the overall progress of the AI Study Assistant project deve
### **<EFBFBD> Content Management System (75%)**
### **🔐 Authentication System (100%)**
- [x] Login UI implementation
- [x] Form validation
- [x] Navigation flow
- [x] Firebase integration
- [x] Real authentication logic
- [x] Token management
- [x] Session persistence
- [x] Signup page with Portuguese localization
- [x] Role-based routing
- [x] Profile editing
### **📚 Content Management System (75%)**
- [x] Teacher materials upload page
- Tela dedicada: `lib/features/materials/presentation/pages/teacher_materials_page.dart`
@@ -129,53 +153,11 @@ This document tracks the overall progress of the AI Study Assistant project deve
## 🚧 IN PROGRESS
### **📱 Authentication System (20%)**
- [x] Login UI implementation
- [x] Form validation
- [x] Navigation flow
- [ ] Firebase integration
- [ ] Real authentication logic
- [ ] Token management
- [ ] Session persistence
### **📝 Signup Page (0%)**
- [ ] Update signup page design
- [ ] Portuguese localization
- [ ] Improved animations
- [ ] Form validation
- [ ] Role-based signup
- [ ] Terms and conditions
---
## ⏳ PENDING FEATURES
### **🤖 AI Tutor System (75%)**
### **🤖 AI Tutor System (98%)**
- [x] Chat interface design
- [x] Message handling with source citations
@@ -185,73 +167,72 @@ This document tracks the overall progress of the AI Study Assistant project deve
- [x] Vector embeddings and similarity search
- [x] Content management system
- [x] Conversation history
- [x] Smart back navigation (chat vs intro)
- [x] Material names display in history
- [x] Filter conversations with user messages only
- [ ] Voice input support
- [ ] Multi-language support
- [ ] Advanced analytics
### **📝 Quiz System (0%)**
### **📝 Quiz System (90%)**
- [ ] Quiz creation interface
- [ ] Question types implementation
- [ ] Scoring system
- [ ] Progress tracking
- [ ] Results display
- [ ] Quiz categories
- [x] Quiz creation interface
- [x] Question types implementation (multiple choice)
- [x] Scoring system
- [x] Progress tracking
- [x] Results display
- [x] Quiz categories
- [x] AI-powered quiz generation from materials
- [x] Teacher quiz management
- [x] Student quiz taking interface
- [x] Quiz history and retry
- [ ] Advanced question types (fill in blank, true/false)
- [ ] Quiz sharing between classes
### **📊 Dashboard System (50%)**
### **📊 Dashboard System (95%)**
- [x] Student dashboard
- [x] Teacher dashboard
- [ ] Analytics display
- [ ] Progress charts
- [ ] Performance metrics
- [x] Analytics display
- [x] Progress charts
- [x] Performance metrics
- [x] Quick actions
- [x] Class management
- [x] Student enrollment
- [ ] Advanced data visualization
### **🔍 RAG Engine (0%)**
- [ ] Vector database setup
- [ ] Document processing
- [ ] Search implementation
- [ ] Context retrieval
- [ ] Answer generation
### **🔍 RAG Engine (85%)**
- [x] Vector database setup (FAISS)
- [x] Document processing
- [x] Search implementation
- [x] Context retrieval
- [x] Answer generation
- [x] MaterialsRAGService implementation
- [x] RAG AI service integration
- [ ] Performance optimization
- [ ] Advanced reranking
### **📈 Analytics System (0%)**
- [ ] Learning progress tracking
- [ ] Usage statistics
- [ ] Performance metrics
### **📈 Analytics System (90%)**
- [x] Learning progress tracking
- [x] Usage statistics
- [x] Performance metrics
- [x] Gamification service
- [x] Achievement system
- [x] Class analytics
- [x] Student rankings
- [x] Teacher analytics dashboard
- [ ] Export functionality
- [ ] Reporting dashboard
- [ ] Data visualization
- [ ] Advanced data visualization
@@ -263,31 +244,29 @@ This document tracks the overall progress of the AI Study Assistant project deve
### **Sprint 3: Authentication & Signup (In Progress)**
### **Sprint 4: Polish & Optimization (In Progress)**
**Duration:** Current Week
**Goal:** Complete authentication flow
**Goal:** Finalize features and optimize performance
#### **Tasks:**
- [x] Fix login page design issues
- [x] Improve animations and background
- [x] Update language policy documentation
- [ ] Update signup page with Portuguese
- [ ] Implement Firebase authentication
- [ ] Add role-based routing
- [x] Fix dashboard progress data flickering
- [x] Cache user name and stats
- [x] Smart back navigation in chat history
- [x] Material names display in history
- [x] Filter conversations with user messages
- [x] Remove new chat button from intro screen
- [x] Update documentation with actual progress
- [ ] Performance optimization
- [ ] Bug fixes and polish
#### **Progress:** 60% Complete
#### **Progress:** 80% Complete
@@ -299,7 +278,7 @@ This document tracks the overall progress of the AI Study Assistant project deve
### **Version 1.0 - MVP (Target: 2 Weeks)**
### **Version 1.0 - MVP (Target: Completed)**
- ✅ Basic UI/UX
@@ -307,35 +286,45 @@ This document tracks the overall progress of the AI Study Assistant project deve
- ✅ Navigation flow
- Complete authentication
- Complete authentication
- Basic dashboard
- Basic dashboard
- ⏳ Simple quiz system
- ✅ Quiz system
- ✅ AI tutor integration
- ✅ Analytics system
- ✅ Class management
- ✅ Materials upload
### **Version 1.1 - Enhanced Features (Target: 4 Weeks)**
### **Version 1.1 - Enhanced Features (Target: 2 Weeks)**
-AI tutor integration
-Voice input support
- ⏳ Advanced quiz features
- ⏳ Advanced question types
- ⏳ Analytics dashboard
- ⏳ Advanced data visualization
- ⏳ Performance improvements
- ⏳ Performance optimizations
- ⏳ Quiz sharing between classes
### **Version 2.0 - Full Platform (Target: 8 Weeks)**
- ⏳ Complete RAG engine
- ⏳ Complete RAG engine optimization
- ⏳ Advanced analytics
- ⏳ Advanced analytics export
-Teacher tools
-Multi-language support
-Content management
-Offline mode enhancements
- ⏳ Mobile optimizations
@@ -383,15 +372,11 @@ This document tracks the overall progress of the AI Study Assistant project deve
### **Development Metrics:**
- **Total Files:** 45+ Dart files
- **Lines of Code:** ~3,000+ lines
- **Dependencies:** 25+ packages
- **Build Time:** ~15 seconds
- **App Size:** ~25MB (debug)
- **Total Files:** 80+ Dart files
- **Lines of Code:** ~8,000+ lines
- **Dependencies:** 30+ packages
- **Build Time:** ~20 seconds
- **App Size:** ~35MB (debug)
@@ -417,6 +402,42 @@ This document tracks the overall progress of the AI Study Assistant project deve
### **Last 24 Hours:**
-**Smart Back Navigation in Chat History** - chat_history_page.dart & tutor_chat_page_simple.dart
- Implemented intelligent back navigation based on entry point
- When accessed from chat: returns to the previous conversation
- When accessed from intro: returns to intro screen
- Added PopScope for Android back gesture handling
- Passes source parameter (chat/intro) and conversationId in URL
-**Material Names Display in Chat History** - chat_history_page.dart
- Replaced raw material IDs with readable file names
- Added _materialNamesCache to store ID-to-name mappings
- Added _loadMaterialNames method to fetch names from Firestore
- Material names truncated to 20 characters if too long
- Fallback to ID if name not found
-**Filter Conversations with User Messages Only** - chat_memory_service.dart
- Added hasUserMessage field to conversation documents
- Initialized to false when conversation is created
- Set to true when user sends a message
- getConversations filters to show only conversations with hasUserMessage == true
- Prevents empty conversations from appearing in history
-**Dashboard Data Caching** - progress_hero_widget.dart & student_dashboard_page.dart
- Added caching for user stats to prevent flickering on navigation
- Added caching for user name to prevent flickering on navigation
- Shows cached data while loading new data in background
- Only shows loading state on first load
- Added clearCachedUserName() method to update cache when profile changes
-**Profile Edit Integration** - profile_edit_page.dart
- Calls StudentDashboardPage.clearCachedUserName() when profile is updated
- Ensures dashboard reflects name changes immediately
-**Remove New Chat Button from Intro Screen** - tutor_chat_page_simple.dart
- New chat button now only shows when _materialsConfirmed is true
- Hidden in intro screen to reduce UI clutter
-**Fixed Settings Profile Card UI** - profile_edit_page.dart
- Background: Changed from hardcoded white to Theme.of(context).colorScheme.surface
- User info: Fixed duplicate email display, now shows displayName (bold, fontSize 16) on top and email (fontSize 14) below
@@ -653,10 +674,6 @@ This document tracks the overall progress of the AI Study Assistant project deve
-**Samsung S928B (Android 16)** - Primary testing device
-**Windows Desktop** - Development environment
-**Chrome Browser** - Web testing
-**iOS Devices** - Pending testing
-**Other Android** - Pending testing
@@ -735,7 +752,7 @@ This document tracks the overall progress of the AI Study Assistant project deve
**📊 Last Updated: 2026-05-14 21:04**
**📊 Last Updated: 2026-05-23 17:11**
**🔄 Auto-Update: Enabled**