Guía completa de cada carpeta y archivo de tu proyecto KENDI
El education_system_service lee los JSON (bo.json, py.json) y los convierte
en objetos GradeModel para usarlos en toda la app.
go_router
o auto_route.
AuthRemoteDataSource que se conecta a Firebase Auth:
UserModel - Modelo que representa un usuario con métodos toJson(),
fromJson(), toEntity()
AuthRepositoryImpl - Implementación del repositorio que usa el datasource
User - Entidad pura (sin dependencias de Firebase):
AuthRepository - Interfaz (contrato):
LoginUseCaseRegisterStudentUseCaseRegisterTeacherUseCaseForgotPasswordUseCaseVerifyCodeUseCaseauth_bloc.dart - Lógicaauth_event.dart - Eventos (LoginPressed, RegisterPressed)auth_state.dart - Estados (Initial, Loading, Success, Error)login_page.dart - Loginforgot_password_page.dart - Recuperar contraseñaselect_user_type_page.dart - Elegir tipo de usuarioselect_grade_page.dart - Elegir nivel educativoverify_code_page.dart - Verificar códigoregister/register_student_page.dart - Registro estudianteregister/register_teacher_page.dart - Registro docentestudent/student_step1_form.dart - Paso 1 del registro estudiantestudent/student_step2_form.dart - Paso 2teacher/teacher_step1_form.dart - Paso 1 del registro docenteteacher/teacher_step2_form.dart - Paso 2teacher/teacher_step3_form.dart - Paso 3teacher/teacher_step4_form.dart - Paso 4Similar estructura a auth con entidades, repositorios, usecases, bloc, pages.
select_level_page.dart - Seleccionar uno de los 18 nivelesmenus_grid_page.dart - Ver todos los menús del nivelcreate_menu_page.dart - Crear menú nuevocreate_submenu_page.dart - Crear submenústudent_dashboard_page.dart - Pantalla principal del estudiante
student_header.dart - Header con foto y nombreachievement_card.dart - Tarjeta de logroprogress_by_subject_card.dart - Progreso por materiaquick_actions_row.dart - Botones de acciones rápidastop_of_class_card.dart - Ranking de clasedata/ y domain/ están vacías.
Los widgets probablemente muestran datos hardcodeados. Falta implementar la lógica real.
create_menu_page cuando el docente
necesita elegir un icono para su menú.
main.dart inicializa Firebase
AppRouter verifica si está logueado
/login (auth feature)
AuthBloc maneja el estado
AuthRemoteDataSource llama a Firebase Auth
/student/dashboard
EducationSystemService
kendi_dashboard.
Ahora conoces tu código a la perfección
Estás listo para implementar los módulos que faltan 💪