§01
Umumiy ko'rinish
- Bu nima: liderlar jadvalini ko'rsatuvchi ilova (
pubspec: "real-time leaderboard for displaying employee performance results"). Cross-platform Flutter loyihasi (android/ios/web/macos/linux/windows). Asosiy kodlider_board/ost-papkasida joylashgan (lider_board_flutter/ichidagi git repozitoriysi). - Turi / holati / roli: mobil (Flutter, ammo maqsadli platformalar ichida desktop/web ham bor) / maintained / solo — yakka muallif Davron Yuldashev
<yul.davron.93@gmail.com>. - Faollik davri: 2025-07-17 → 2025-12-05 (~5 oy), lekin git'da atigi 2 ta kommit (tarix squash qilingan/qayta yozilganga o'xshaydi) — baholash kommitlar bo'yicha emas, kod bo'yicha.
§02
Stek
- Tillar: Dart (SDK ^3.8.1), Flutter.
- Arxitektura/kutubxonalar (`pubspec.yaml` bo'yicha): flutter_bloc 8 (BLoC state management) + equatable; get_it + injectable (kod generatsiyali DI); dio (HTTP) + connectivity_plus (online/offline); dartz (funksional Either/Failure); data_table_2 (liderlar jadvali), auto_size_text, flutter_screenutil (adaptivlik), audioplayers (audio — ehtimol lider o'zgarganda signal), intl, shared_preferences. Dev: build_runner, injectable_generator, mockito (testlar), flutter_lints.
- Infra/deploy: git CI yo'q; lokal Flutter buildlari.
publish_to: none(yopiq). - Ma'lumotlar: masofaviy API (dio,
api_constants.dart), lokal kesh (shared_preferences,leaderboard_local_datasource.dart). - Hujjatlar: ko'p —
ARCHITECTURE.md,CLEAN_ARCHITECTURE_STATUS.md,CONFIGURATION_COMPLETED.md,STAGE_4_UI_IMPLEMENTATION.md,flutter_development_plan.md,BUG_FIX_SUMMARY.md.
§03
Nima qilindi
Git tarixi squash qilingan (2 ta kommit), shuning uchun — kod tuzilishi bo'yicha (yakka mualliflik):
- `lib/features/leaderboard/` ichida qatlamli Clean arxitektura:
domain/(entity'laruser_data, repository interfeysi, usecaseget_leaderboard),data/(modellar, remote+local datasource'lar, repository impl),presentation/(bloc + sahifalar + widget'lar). - Core qatlami:
core/network(api_client, network_info),core/errors(exceptions, failures),core/utils(audio_manager, formatters),core/constants(colors/strings/api). - DI: get_it/injectable asosidagi
injection_container.dart(+ generatsiyalangan.config.dart). - UI: liderlar jadvali sahifasi + widget'lar (leaderboard_table, user_row, rank_cell, loading_indicator, error_widget), data_table_2 + screenutil asosida.
- Ko'lami: barcha Clean Architecture qatlamlari bo'ylab bitta to'liq funksional modul (liderlar jadvali); testlar tayyorlangan (
test/, mockito).
§04
Texnik chellenjlar
lib/ tuzilishi va pubspec bilan tasdiqlangan.
- "Kitobga muvofiq" Clean Architecture → domain/data/presentation qat'iy ajratilgan, usecase qatlami, domain'da repository interfeysi + data'da impl, injectable orqali DI. Masshtablanadigan Flutter arxitekturasini tushunishni namoyish etadi ("hammasi bitta State ichida" emas).
- Funksional xatoliklar bilan ishlash → dartz
Either<Failure, T>,exceptions(data) nifailures(domain) dan ajratish — hamma joyda try/catch o'rniga yetuk pattern. - BLoC event/state → leaderboard_bloc/event/state — bashoratli state management.
- Real-time + audio → davriy API polling (dio) + offline uchun connectivity_plus + audio ishoralari uchun audioplayers (audio_manager) (odatiy "ofis devoridagi natijalar tablosi" ssenariysi).
- Adaptivlik → flutter_screenutil + auto_size_text (bitta tablo turli ekranlar / televizorlar bo'ylab).
§05
AI yordamida ishlab chiqish
- Topilgan sessiyalar: Claude Code sessiyalari katalogida 0 ta (ikkala normallashtirilgan kalit tekshirildi —
…-lider-board-flutterva…-lider-board-flutter-lider-board; mos kelmadi). - Bilvosita: lokal
.claude/va bosqichli-reja uslubidagi ko'plab markdown hujjatlari bor ("STAGE_4", "CLEAN_ARCHITECTURE_STATUS", "development_plan") — AI yordamida ishlab chiqilganga o'xshaydi, ammo CC transkriptlari yo'q. - AI vorkflow patternlari: ma'lumot yo'q (transkriptlar yo'q).
§06
Yutuqlar va metrikalar
- To'liq Clean Architecture moduli (domain/data/presentation + core + DI) yakka o'zi qurilgan.
- 6 ta Flutter maqsadli platforma (android/ios/web/macos/linux/windows).
- Test harness (mockito).
- Boy loyiha hujjatlari (6+ md fayl).