Database Design Columns or Lists

I am creating a job board similar to Upwork (or Zeroqodes Upwork clone). I want to give each user the ability to upload multiple resumes and multiple cover letters for jobs they apply for. The easiest way of doing this is going to be 1 row for each document and 3 columns - User, Document, DocumentType - where DocumentType is either ‘resume’ or ‘cover letter’.

User | Document | DocumentType
jim@aol.com | myresume.pdf | resume
jim@aol.com | myresume2.pdf | resume
jim@aol.com | coverletter.pdf | cover letter

However, I’m not sure if this is the best design… the other option is going to be something a bit more complex… where each user has a “list” of both resumes and cover letters

User | Resume | CoverLetter
jim@aol.com | “resume.pdf”, “res2.pdf” | “coverletter.pdf”, “coverltr.pdf”

I think if the issue were this basic, I would want to go with Option 2. The issue is that I also want to inclue “metadata” about each document - meaning the date it was created… so I’m not sure if I can handle this kind of requirement with the Option 2 model… can anyone offer any guidance on the best data design decision?

1 Like

Hi @yourmom (nice handle btw :grin:),

I would probably go with just User and Document as datatypes.

Then, on the Document, have field “Type” that would refer to an option set ex. Document Type (and there have seperate option for “Resume” and “Cover letter”).

Also, don’t need to have a list of Documents on User type as that might slow things down in the long run. Just use “Do a search for”.

Also don’t forget to set correct Privacy Rules!

Best,
Alan