Skip to content

[EPIC] Showing list of users that worked at certain companies. #122

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
gzcharleszhang opened this issue Dec 2, 2021 · 4 comments · Fixed by #413
Closed

[EPIC] Showing list of users that worked at certain companies. #122

gzcharleszhang opened this issue Dec 2, 2021 · 4 comments · Fixed by #413
Assignees
Labels
epic Large task that includes smaller issues

Comments

@gzcharleszhang
Copy link
Collaborator

It'd be useful for users to find people who worked at certain companies. Users who wish to be associated to a certain company can opt into this feature. The system could be similar to the interviewers feature with these commands:

  • .company <company_name>
  • .company add <company_name>
  • .company delete <company_name>
  • .company profile
@gzcharleszhang gzcharleszhang added the epic Large task that includes smaller issues label Dec 2, 2021
@victorzheng02 victorzheng02 self-assigned this Oct 17, 2022
@mcpenguin
Copy link
Contributor

mcpenguin commented Oct 18, 2022

After discussion, we would add companies via .company enroll <linkedin link>, with an approval process. We are using LinkedIn links since they give more options to expand this functionality (eg filtering by tags, etc) in the future.

We can let the companies display on an user's profile instead of creating a new "company profile" as well.

@victorzheng02
Copy link
Contributor

victorzheng02 commented Oct 19, 2022

Seems like Linkedin API does not provide any functionality for looking up companies, but we can hopefully use a third-party such as this one
https://rapidapi.com/williambarberjr/api/linkedin-company-data/
^ however, the following is expensive, so either look for alternative or web scrape?

In terms of commands, I wish to support the following
.company enroll , which will enroll the company into our database.

The schema will be something like the following

CREATE TABLE companies (
     companylink VARCHAR(64) NOT NULL PRIMARY KEY,
     is_enrolled BOOLEAN DEFAULT FALSE
)

The companylink can act as a natural primary key since its unique to the company

Once a company is enrolled, an individual can add it to their profile by either
.company add {crunchbase link} or .company add {company name}
When they do so, they will be added to the following table

CREATE TABLE user_companies (
    companylink VARCHAR(64) FOREIGN KEY,
    user_id VARCHAR(64) // their discord id
)

.company profile
will list all the companies you are associated with

.company find
will list all members associated with this company by doing a lookup against the user_companies table

.company unenroll
this command will unenroll a given company, and cascade delete all associated records in user_companies. this command will be available to mods only

@mcpenguin
Copy link
Contributor

Thanks for scoping this out! :DDDD

If there are no suitable alternatives, I don't think the lower tier is that unreasonable price-wise. although Pico and I would need to discuss this with the other executives first. This would definitely be the quickest option time-wise.

The web scraper approach would not involve any costs - I'm just concerned of the time that it would take to complete such a scraper.

In lieu of a dedicated info command, I think we should have a .company info command that displays information about what the command does.

For .company find, it might be worthwhile to abstract the pagination that we would inevitably need to use to list all the users to a separate utility, and reuse this across different functions (e.g. suggestions).

@Picowchew
Copy link
Contributor

I think there should also be a .company approve command that would change is_enrolled from false to true?

For the user_companies table, what do you think about creating an index on both companylink and user_id as well?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
epic Large task that includes smaller issues
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants