ApplETS / Notre-Dame

The 4th generation of ÉTSMobile, the main gateway between the École de technologie supérieure and its students on mobile devices
Apache License 2.0
36 stars 12 forks source link

lib folder feature-first structure #996

Closed Hzdotexe closed 3 weeks ago

Hzdotexe commented 1 month ago

⁉️ Related Issue

📖 Description

Add feature-first structure

🧪 How Has This Been Tested?

☑️ Checklist before requesting a review

🖼️ Screenshots (if useful):

github-actions[bot] commented 3 weeks ago

This PR exceeds the recommended size of 1000 lines. Please make sure you are NOT addressing multiple issues with one PR. Note this PR might be rejected due to its size.

github-actions[bot] commented 3 weeks ago

Coverage after merging refactoring/feature-first into PFE-master will be

75.59%

Coverage Report
FileStmtsBranchesFuncsLinesUncovered Lines
lib/constants
   preferences_flags.dart0%100%100%0%61, 66, 68, 70–72, 75, 77–80, 82, 84
   widget_helper.dart100%100%100%100%
   markers.dart100%100%100%100%
lib/features/app/analytics
   analytics_service.dart0%100%100%0%13–14, 17, 20–22, 25, 30, 32–34, 38, 40–41, 43
   remote_config_service.dart0%100%100%0%100–102, 105–107, 110–112, 115–117, 120–121, 123–127, 131–133, 50–52, 55–57, 60–62, 65–67, 70–72, 75–77, 80–82, 85–87, 90–92, 95–97
lib/features/app/error
   internal_info_service.dart0%100%100%0%18–21, 24–29, 32, 34–38, 42–43
lib/features/app/error/not_found
   not_found_view.dart94.74%100%100%94.74%92–93
   not_found_viewmodel.dart100%100%100%100%
lib/features/app/integration
   github_api.dart0%100%100%0%100–101, 104, 106, 110, 112–116, 118–119, 122, 124, 131–134, 138–139, 141, 39, 42–43, 47, 51–55, 57–58, 60, 62, 64–65, 68, 70, 77, 82–88, 92, 94, 96–98
   launch_url_service.dart0%100%100%0%22–24, 27–29, 32–37, 43, 61–62, 65
   networking_service.dart0%100%100%0%10–11, 13–15, 18–20
lib/features/app/navigation
   navigation_service.dart0%100%100%0%27, 30–31, 33–34, 41–42, 45–46, 49–51, 53, 58, 61, 63–64, 67–69, 71–72
lib/features/app/presentation
   rive_animation_service.dart0%100%100%0%12–13, 16, 19–20, 28, 32–33, 35
   webview_controller_extension.dart88.89%100%100%88.89%21
lib/features/app/repository
   course_repository.dart84.55%100%100%84.55%193, 198, 204, 206, 210, 212–213, 216–222, 227, 229, 232, 234–236, 239–244, 248, 252–254, 256, 260, 330, 338, 340, 525–526, 76
   quick_link_repository.dart85.71%100%100%85.71%39–40
   user_repository.dart93.52%100%100%93.52%131–132, 182, 304, 306, 94–95
lib/features/app/startup
   startup_viewmodel.dart92.50%100%100%92.50%103, 138–139
lib/features/app/storage
   preferences_service.dart69.09%100%100%69.09%119–120, 122, 36, 38, 40, 43–45, 69–70, 80–82, 85, 87–88
   cache_manager.dart0%100%100%0%30–31, 34–37, 40, 44, 46–50, 56, 58–61, 66, 68–71
   siren_flutter_service.dart0%100%100%0%13–14, 18–19, 23–25, 29–31, 35, 41
lib/features/app/widgets
   app_widget_service.dart77.42%100%100%77.42%71, 73–78
   base_scaffold.dart76.19%100%100%76.19%105, 108–109, 111–113, 115–116, 118–119
   bottom_bar.dart92.42%100%100%92.42%50, 52, 54, 57, 61
   web_link_card.dart89.47%100%100%89.47%27–28
   dismissible_card.dart100%100%100%100%
   link_web_view.dart88.24%100%100%88.24%38–39
lib/features/dashboard
   dashboard_view.dart78.69%100%100%78.69%154–157, 165–168, 176–178, 186–188, 196–198, 236–239, 253–255, 261–263, 271, 273–274, 292–295, 299–301, 327–328, 365–366, 378–379, 413–414, 461–463, 491–492, 514, 90
   dashboard_viewmodel.dart80.88%100%100%80.88%146–148, 150, 153, 240–241, 255–260, 262, 271–272, 314, 354–355, 357, 377, 381, 418, 420, 425, 463, 478, 480–482, 484, 489–490, 546, 551, 553–554, 556–557, 560–561, 563, 566, 568, 570–571, 573–574, 577–578, 590–591
lib/features/dashboard/widgets
   course_activity_tile.dart100%100%100%100%
   haptics_container.dart100%100%100%100%
lib/features/ets
   web_link_card_viewmodel.dart62.50%100%100%62.50%35, 40–41
lib/features/ets/quick-link
   quick_links_view.dart62.65%100%100%62.65%131–133, 147–150, 165, 167, 170, 178–179, 186, 189–191, 198–199, 206, 209–211, 63–67, 88–89, 92–93
   quick_links_viewmodel.dart100%100%100%100%
lib/features/ets/quick-link/models
   quick_link.dart100%100%100%100%
   quick_link_data.dart100%100%100%100%
   quick_links.dart100%100%100%100%
lib/features/ets/security-info
   security_view.dart75.41%100%100%75.41%108, 110–114, 45–47, 66–71
   emergency_view.dart65%100%100%65%29–35
   security_viewmodel.dart50%100%100%50%37–38, 42–44, 46, 51–52
lib/features/ets/security-info/models
   emergency_procedures.dart100%100%100%100%
   emergency_procedure.dart100%100%100%100%
lib/features/more
   more_view.dart83.72%100%100%83.72%110–112, 161–162, 164, 204–205, 207, 211, 243–245, 247, 249–251, 44–45, 64–65
   more_viewmodel.dart64.71%100%100%64.71%110, 112–114, 116–117, 119, 124–125, 144–145, 147–148, 150–151, 154–155, 64
lib/features/more/about
   about_view.dart71.64%100%100%71.64%129–130, 136–137, 143–144, 150–151, 157–158, 164–165, 170, 173, 175, 23–25, 92
lib/features/more/faq
   faq_view.dart90.18%100%100%90.18%108–109, 205–209, 280–281, 284, 286
   faq_viewmodel.dart41.67%100%100%41.67%30, 32–33, 35, 38, 41, 43
lib/features/more/faq/models
   faq_actions.dart100%100%100%100%
   faq_questions.dart100%100%100%100%
lib/features/more/feedback
   in_app_review_service.dart0%100%100%0%16, 20, 23, 27
   feedback_view.dart71.60%100%100%71.60%109, 112–113, 115–119, 121, 126, 130, 132–134, 137–140, 142, 151–153, 160–166, 283–284, 333–335, 337, 339, 341, 343, 39–40, 42–43, 67–68, 70–71
   feedback_viewmodel.dart97.14%100%100%97.14%