You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Current Database design has two blockers for site extensibility.
Every "new site support addition" needs new columns to be added to USER database table (NEWSITE_handle and NEWSITE_lr) for adding user handle and last retrieval time.
Many a times a user ends up having more than one handle on online sites (e.g. During college someone created an id using college roll number as user handle). But after graduating, user created another handle. As a user if someone wants his progress from two accounts to be merged, he needs to create two separate stopstalk accounts. A re-design can address both scenarios to make site more elegant.
CURRENT DESIGN
user
codeforces_handle
codeforces_lr
codechec_handle
codeforces_lr
spoj_handle
spoj_lr
......
PROPOSED DESIGN
Add a new table
coding_profiles
user_id : (reference field to user table)
site_name: (string: one of -- CODEFORCES, CODECHEF, SPOJ, ...)
site_handle: user's handle of site
last_retrieved: DateTime of last retrieval
This will allow adding new sites support easy and elegant and allows a user to add his multiple handles into his single account.
Lastly, this also allows allows LOSE COUPLING between crawlers and user table or sites. e.g. a Crawler can be written to just fetch one site specific handles and crawl just for that rather than crawling for all user handles of a single user at once.
The text was updated successfully, but these errors were encountered:
sandywadhwa
changed the title
[DESIGN][ENHANCEMENT] Database design needs to be more flexible to add new sites support and multiple userhandles support
[DB-DESIGN] Database design needs to be more flexible to add new sites support and multiple userhandles support
Sep 22, 2020
sandywadhwa
changed the title
[DB-DESIGN] Database design needs to be more flexible to add new sites support and multiple userhandles support
[DB-DESIGN] Database design needs to be more flexible to add new sites support and multiple user handles support
Sep 22, 2020
Current Database design has two blockers for site extensibility.
CURRENT DESIGN
user
codeforces_handle
codeforces_lr
codechec_handle
codeforces_lr
spoj_handle
spoj_lr
......
PROPOSED DESIGN
Add a new table
coding_profiles
user_id : (reference field to user table)
site_name: (string: one of -- CODEFORCES, CODECHEF, SPOJ, ...)
site_handle: user's handle of site
last_retrieved: DateTime of last retrieval
This will allow adding new sites support easy and elegant and allows a user to add his multiple handles into his single account.
Lastly, this also allows allows LOSE COUPLING between crawlers and user table or sites. e.g. a Crawler can be written to just fetch one site specific handles and crawl just for that rather than crawling for all user handles of a single user at once.
The text was updated successfully, but these errors were encountered: