-
Notifications
You must be signed in to change notification settings - Fork 19
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
Improve employee profile #18
Comments
@fullonic
@francescarpi |
What about to create a new model to manage social/work profiles? I think a new model is better choice to handle design changes. Its more suitable. |
Hi @oriolpiera, I was thinking in that fields and some extras. After taking some ideas from other job portals I came out in this examples models. class EmployeeProfile(models.Model):
employee_id = models.ForeignKey(User, on_delete=models.CASCADE)
employee_uuid = models.UUIDField(default=uuid.uuid4, editable=False, unique=True)
first_name = models.CharField(max_length=32, blank=True, null=True, default="")
last_name = models.CharField(max_length=32, blank=True, null=True, default="")
# email should be populated automatically on user registration
email = models.EmailField(unique=True, blank=False)
avatar = models.ImageField(upload_to="img/avatares/",null=True, blank=True)
location = models.CharField(max_length=32, blank=True, null=True, default="")
contact_phone = models.CharField(max_length=32, blank=True, null=True, default="")
# Example: Backend Developer
professional_title = models.CharField(
max_length=64, blank=True, null=True, default=""
)
current_job = models.CharField(max_length=64, blank=True, null=True, default="")
short_bio = models.TextField(max_length=512, blank=True, null=True)
cv_file = models.FileField(upload_to="cvs/", null=True, blank=True)
open_to_relocation = models.BooleanField(blank=True, null=True)
prefer_remote = models.BooleanField(blank=True, null=True)
# PostgreSQL array field
additional_skills = pg_field.ArrayField(
base_field=models.CharField(max_length=64), size=10, null=True, blank=True
)
# Online social network
linked_in = models.URLField(unique=True, blank=True, null=True)
twitter = models.URLField(unique=True, blank=True, null=True)
git_profile = models.URLField(unique=True, blank=True, null=True)
web_page = models.URLField(unique=True, blank=True, null=True)
class EmploymentHistory(models.Model):
employee_id = models.ForeignKey(User, on_delete=models.CASCADE)
uuid = models.UUIDField(default=uuid.uuid4, editable=False, unique=True)
position = models.CharField(max_length=64, blank=True, null=True, default="")
company = models.CharField(max_length=64, blank=True, null=True, default="")
location = models.CharField(max_length=32, blank=True, null=True, default="")
start_at = models.DateField(blank=True, null=True)
end_at = models.DateField(blank=True, null=True)
description = models.TextField(blank=True, null=True, max_length=512)
class EmployeeEducation(models.Model):
employee_id = models.ForeignKey(User, on_delete=models.CASCADE)
uuid = models.UUIDField(default=uuid.uuid4, editable=False, unique=True)
school = models.CharField(max_length=64, blank=True, null=True, default="")
degree = models.CharField(max_length=64, blank=True, null=True, default="")
start_at = models.IntegerField(blank=True, null=True, default="")
end_at = models.IntegerField(blank=True, null=True, default="")
description = models.TextField(blank=True, null=True, max_length=512) I'm not sure if best practices, but I was thinking in having the current This is just a proposal. Maybe to much fields? I saw that in some portals the provide a extra field to add certifications. Should we have as well? |
@oriolpiera We don't have anything defined. I will let you know when we are done with the planning and if you can, we work together on this issue. @xdiume Would you like to work together on this issue? |
Right now there is only the name and gender information.
It would be nice to have fields like:
The text was updated successfully, but these errors were encountered: