Resumes App
The Idea
A small project to build a database where to save some job searches and related things with a Django app in front, to access that data.
GitHub repo: resumes
A work in progress version of the app running here: Resumes (creds: user: demo / pass: demo2022).
The Project's Structure
There are several attributes that can describe a job search result.
First is the description of the job position which practically is it's main element. This would fit in a content attribute rendered with a TextField.
Next, the location. Initially I though to make this one a CharField but then, later, I found that it is useful to have a table for location and to use a ForeignKey from the Job Position table to the Location one. For the Location table I just used as attributes city, province/state, and country, all three being required.
Then the company which offers the job postion. This also looked as a good candidate for a separate table with a ForeignKey relationship for the Job Position table to it. As fields for this one I used name, of course, required, website just to be easy to click and go there, a files field if there would be something to save and a info TextField for anything else related to this company.
Another attribute would clearly be the type of job position (full-time, part-time, etc). This one also looked to me that it would be better in a separate table. Its only attribute would be job_type, a CharField.
The other attributes I found useful to add are: salary, date when found, date when applied, which resume was sent. Salary is a CharField as I found it to be enough for representing that info when available (numbers or ranges).
Two other important tables are one for resume itself and one for interview.
For the resume model I used these attributes:
title- CharField, requireddescription- Charfield, can be blankdate_created- can be null and blankcontent- a TextFieldfiles- if any doc needs to be saved here.
For the interview model, these would be the attributes:
title- CharField, requiredjob_position- a ForeignKey to JobPosition modeldate_sch- for date scheduledresume- a ForeignKey to the resume used for this interviewnotes- for any useful info related to this interview
Like for some of my other projects, there is the base app which have elements generally related to the site itself. The base app for this project will have two models: Category and Tag. The Category model has three fields: name, slug, and parent. The Tag model only two: name and slug.
All in all the database will have these tables:
From the resumes app:
- company with the model
Companyand the fields:- name
- website
- category
- tags
- files
- info
- author
- jobposition with the model
JobPositionand the fields:- title
- company
- location
- job_type
- salary
- date_found
- date_applied
- resume_sent
- category
- tags
- content
- author
- resume with the model
Resumeand the fields:- title
- description
- date_created
- category
- tags
- content
- files
- author
- location with the model
Locationand the fields:- city
- prov_state
- country
- author
- jobtype with the model
JobTypeand the fields:- job_type
- author
- interview with the model
Interviewand the fields:- title
- job_position
- date_sch
- resume
- category
- tags
- notes
- author
In base app:
- category with the model Category and the fields: name, slug, author, parent
- tag with the model Tag and the fields: name, slug, author