iausathub / satchecker

IAU CPS SatHub tool for satellite position prediction
BSD 3-Clause "New" or "Revised" License
7 stars 1 forks source link

Refactor/restructure to use repository pattern and split into different services #75

Closed mdadighat closed 1 month ago

mdadighat commented 1 month ago

The previous architecture was increasingly difficult to test and add new features to effectively, so this pull request contains all the changes to move to a repository pattern, with the ephemeris and tools endpoints split out (and with separate supporting services). This also adds additional unit testing and documentation, and should make it simpler to make the changes needed to add features for the field of view service.

github-actions[bot] commented 1 month ago

Coverage

Coverage Report
FileStmtsMissCoverMissing
src/api
   config.py291162%39–46, 70–81
   satchecker.py110%1
src/api/adapters/repositories
   satellite_repository.py54493%29, 33, 37, 41
   tle_repository.py80594%67, 73, 82, 91, 95
src/api/domain/models
   tle.py19195%52
src/api/entrypoints
   extensions.py10190%30
src/api/entrypoints/v1/routes
   ephemeris_routes.py103892%172–173, 258–259, 347–348, 426–427
   routes.py371073%21, 62, 91, 113–125
   tools_routes.py49688%50–52, 87–89
src/api/services
   validation_service.py1121289%138, 158, 161–168, 171–178, 259–260
src/api/services/tasks
   development_tasks.py23230%1–148
   ephemeris_tasks.py351266%55–73, 140, 161–164
src/api/utils
   coordinate_systems.py923562%27–38, 58–73, 89–101, 120–134, 156–177, 217–221, 326–330
   propagation_strategies.py73199%99
TOTAL89613085% 

Tests Skipped Failures Errors Time
80 0 :zzz: 0 :x: 0 :fire: 16.913s :stopwatch: