هذا المشروع هو تطبيق لتدوين الملاحظات (Note-Taking App) تم تطويره باستخدام Kotlin و Jetpack Compose. يعتمد التطبيق على Clean Architecture بشكل مبسط لضمان فصل المسؤوليات بين مكونات التطبيق المختلفة، مما يجعل الكود أكثر تنظيمًا وسهولة في الصيانة والتطوير مستقبلًا. يتكون التطبيق من شاشتين رئيسيتين: شاشة لعرض قائمة الملاحظات، وشاشة أخرى لإضافة أو تعديل الملاحظات.
الميزات الرئيسية:
- عرض قائمة بالملاحظات المخزنة في قاعدة بيانات محلية.
- إمكانية ترتيب الملاحظات حسب العنوان، تاريخ الإنشاء، أو اللون.
- إضافة ملاحظات جديدة مع إمكانية تحديد العنوان والمحتوى واللون.
- تعديل الملاحظات الموجودة من خلال تغيير العنوان أو المحتوى أو اللون.
- حذف الملاحظات من القائمة.
- تطبيق تحقق بسيط لمنع إضافة ملاحظات فارغة.
المهارات والتقنيات المستخدمة:
- Jetpack Compose لبناء واجهة المستخدم.
- Dependency Injection باستخدام Dagger Hilt لإدارة الاعتماديات داخل التطبيق.
- Clean Architecture لتنظيم بنية المشروع.
- تقسيم المشروع إلى طبقات Data وDomain وPresentation.
- تطبيق مبدأ Dependency Inversion.
- استخدام Use Cases لتنظيم منطق العمل داخل التطبيق.
- Separation of Concerns لفصل المسؤوليات بين الطبقات المختلفة.
- Room Database لتخزين البيانات محليًا.
- Repository Pattern لإدارة الوصول إلى البيانات.