igem-org module

We need to cache data from the legacy system, igem.org

The current iGemDotOrgTeam must be completely refactored (if not just deleted and replaced by the new one), please be aware that this code is extremely unreliable.

There won't be standard CRUD endpoints, but rather a single one to trigger the cache update. GET endpoints will be fully public (no authentication middleware at all). We need pagination and filtering parameters for them.

The update service should take care of fetching the dump file automatically and directly from the igem.org server.

DotOrgTeams

The teams table should have the following attributes:

  • Team ID, Team, Region, Country, Track, Kind, Size, Status, Year from Team list
  • City from Shipping Information
  • Latitude and Longitude automatically fetched based on City
  • Project Promotion Video and Team Presentation Video reference, probably an the id of the DeliverableSubmission each
  • Abstract, Project Title, from Titles and abstracts
  • medals: string[], from gold, silver and bronze
  • awards: [ { title: string, template: string } ], from awards
  • presentationSession:Session from schedule
  • wiki: generated as https://:year.igem.org/:teamName
  • photo, logo, contacts (the latter would be string[]), source below

You can see an example of the forms that you don't have access to here attached:

Edited by Fabio Maschi