feat: initial commit - Habo habit tracking app

- Complete MVP with Repository Pattern, SQLite storage
- Provider + ChangeNotifier state management
- Navigation 2.0 with deep link support
- Habit CRUD with twoDayRule, notifications, categories
- Backup/Restore via JSON
- Statistics with streak tracking
- Material You theme support
- Biometric lock support
- Desktop widget support
- 27 languages i18n structure
- Comprehensive test suite (87/89 passing)
This commit is contained in:
2026-04-13 15:02:30 +00:00
commit aa69f2a91e
212 changed files with 16694 additions and 0 deletions

View File

@@ -0,0 +1,32 @@
import 'package:habo/model/habo_model.dart';
import 'package:habo/repositories/habit_repository.dart';
import 'package:habo/repositories/event_repository.dart';
import 'package:habo/repositories/category_repository.dart';
import 'package:habo/repositories/sqlite_habit_repository.dart';
import 'package:habo/repositories/sqlite_event_repository.dart';
import 'package:habo/repositories/sqlite_category_repository.dart';
class RepositoryFactory {
final HaboModel _model;
HabitRepository? _habitRepository;
EventRepository? _eventRepository;
CategoryRepository? _categoryRepository;
RepositoryFactory(this._model);
HabitRepository get habitRepository {
_habitRepository ??= SqliteHabitRepository(_model);
return _habitRepository!;
}
EventRepository get eventRepository {
_eventRepository ??= SqliteEventRepository(_model);
return _eventRepository!;
}
CategoryRepository get categoryRepository {
_categoryRepository ??= SqliteCategoryRepository(_model);
return _categoryRepository!;
}
}