Skip to content

Schema/API Design Comments Baylor Pond #24

@BPond4

Description

@BPond4

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions