Player_ids are Strings instead of ints
It seems like it would be easier to work with Ints if they were used for player ids instead of strings.
Auto Generated ids
Some ids are generated by default and some are not
Remove player
After a player is drafted you may want some functionality to remove that player from a team
Remove team
If someone wants to leave a draft, there should be some functionality to remove that player/team from the draft
Security and authentication for sensitive endpoints
For endpoints like the delete and remove endpoints, it is important that only administrators have access to those endpoints.
NOT NULL for some data
Some columns of the tables should not have null data but you haven't declared them as NOT NULL in the schema
Unique constraint for some ids
Some ids do not have a Unique constraint within their table which would avoid some possible duplicate key conflicts
Incomplete table useage
Some tables don't seem to be in full use or at all. Either add more endpoints to include all table data or remove some tables/table data.
Drafting Atomicity
If multiple users use the draft player endpoint at the same time, what is your way of handling race conditions so that multiple users don't get the same player.
Player stats within draft
If there was an endpoint to look at all players within the draft and their stats, such as joining those two tables and displaying them, that would be good.
Cascade deletions
For the delete operations including the possible delete team that i suggested, you should make sure that it cascade deleted relevant data.
Draft type specification
Because draft type has only a limited amount of options for its value, you should specify those choices rather than leaving it as an open string
Player_ids are Strings instead of ints
It seems like it would be easier to work with Ints if they were used for player ids instead of strings.
Auto Generated ids
Some ids are generated by default and some are not
Remove player
After a player is drafted you may want some functionality to remove that player from a team
Remove team
If someone wants to leave a draft, there should be some functionality to remove that player/team from the draft
Security and authentication for sensitive endpoints
For endpoints like the delete and remove endpoints, it is important that only administrators have access to those endpoints.
NOT NULL for some data
Some columns of the tables should not have null data but you haven't declared them as NOT NULL in the schema
Unique constraint for some ids
Some ids do not have a Unique constraint within their table which would avoid some possible duplicate key conflicts
Incomplete table useage
Some tables don't seem to be in full use or at all. Either add more endpoints to include all table data or remove some tables/table data.
Drafting Atomicity
If multiple users use the draft player endpoint at the same time, what is your way of handling race conditions so that multiple users don't get the same player.
Player stats within draft
If there was an endpoint to look at all players within the draft and their stats, such as joining those two tables and displaying them, that would be good.
Cascade deletions
For the delete operations including the possible delete team that i suggested, you should make sure that it cascade deleted relevant data.
Draft type specification
Because draft type has only a limited amount of options for its value, you should specify those choices rather than leaving it as an open string