Added a skill rating to all skills
This commit is contained in:
parent
f37bcad333
commit
6d7b0220a1
4 changed files with 33 additions and 2 deletions
|
|
@ -8,115 +8,136 @@ export default {
|
||||||
description:
|
description:
|
||||||
"Efficiently manage Git repositories, handling pull/merge requests, and ensuring version control integrity.",
|
"Efficiently manage Git repositories, handling pull/merge requests, and ensuring version control integrity.",
|
||||||
category: "Version control systems",
|
category: "Version control systems",
|
||||||
|
stars: 4,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "NodeJs, TypeScript, and Javascript",
|
name: "NodeJs, TypeScript, and Javascript",
|
||||||
description: "Develop and maintain scalable microservices using NodeJs, TypeScript, and Javascript.",
|
description: "Develop and maintain scalable microservices using NodeJs, TypeScript, and Javascript.",
|
||||||
category: "Programming languages",
|
category: "Programming languages",
|
||||||
|
stars: 5,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Docker",
|
name: "Docker",
|
||||||
description:
|
description:
|
||||||
"Containerize and orchestrate microservices in local development environments using Docker.",
|
"Containerize and orchestrate microservices in local development environments using Docker.",
|
||||||
category: "Containerization",
|
category: "Containerization",
|
||||||
|
stars: 5,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Kubernetes",
|
name: "Kubernetes",
|
||||||
description: "Deploy and manage containerized microservices on AWS (EKS) using Kubernetes.",
|
description: "Deploy and manage containerized microservices on AWS (EKS) using Kubernetes.",
|
||||||
category: "Containerization",
|
category: "Containerization",
|
||||||
|
stars: 4,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "EKS",
|
name: "EKS",
|
||||||
description: "Administer and optimize Elastic Kubernetes Service (EKS) on AWS.",
|
description: "Administer and optimize Elastic Kubernetes Service (EKS) on AWS.",
|
||||||
category: "AWS",
|
category: "AWS",
|
||||||
|
stars: 3,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "API Gateway",
|
name: "API Gateway",
|
||||||
description: "Design, implement, and deploy cloud-based applications using API Gateway on AWS.",
|
description: "Design, implement, and deploy cloud-based applications using API Gateway on AWS.",
|
||||||
category: "AWS",
|
category: "AWS",
|
||||||
|
stars: 3,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Lambda",
|
name: "Lambda",
|
||||||
description: "Develop and deploy serverless cloud-based applications using Lambda on AWS.",
|
description: "Develop and deploy serverless cloud-based applications using Lambda on AWS.",
|
||||||
category: "AWS",
|
category: "AWS",
|
||||||
|
stars: 3,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "CloudWatch",
|
name: "CloudWatch",
|
||||||
description: "Monitor and analyze cloud-based applications using CloudWatch on AWS.",
|
description: "Monitor and analyze cloud-based applications using CloudWatch on AWS.",
|
||||||
category: "AWS",
|
category: "AWS",
|
||||||
|
stars: 4,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "ElasticSearch, Logstash and Kibana (ELK Stack)",
|
name: "ElasticSearch, Logstash and Kibana (ELK Stack)",
|
||||||
description:
|
description:
|
||||||
"Extract valuable insights and generate comprehensive statistics from SaaS platform data using the ELK Stack.",
|
"Extract valuable insights and generate comprehensive statistics from SaaS platform data using the ELK Stack.",
|
||||||
category: "Business Intelligence",
|
category: "Business Intelligence",
|
||||||
|
stars: 3,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "CI/CD pipelines",
|
name: "CI/CD pipelines",
|
||||||
description: "Automate testing, building, and deployment processes using CI/CD pipelines.",
|
description: "Automate testing, building, and deployment processes using CI/CD pipelines.",
|
||||||
category: "DevOps",
|
category: "DevOps",
|
||||||
|
stars: 5,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Server Management",
|
name: "Server Management",
|
||||||
description: "Configure, maintain, and troubleshoot hosting servers to ensure optimal performance.",
|
description: "Configure, maintain, and troubleshoot hosting servers to ensure optimal performance.",
|
||||||
category: "DevOps",
|
category: "DevOps",
|
||||||
|
stars: 5,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Webhosting",
|
name: "Webhosting",
|
||||||
description: "Provision and manage web hosting environments for websites and email services.",
|
description: "Provision and manage web hosting environments for websites and email services.",
|
||||||
category: "DevOps",
|
category: "DevOps",
|
||||||
|
stars: 3,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Web development",
|
name: "Web development",
|
||||||
description: "Design and develop custom WordPress websites using industry best practices.",
|
description: "Design and develop custom WordPress websites using industry best practices.",
|
||||||
category: "Web development",
|
category: "Web development",
|
||||||
|
stars: 2,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "PHP",
|
name: "PHP",
|
||||||
description: "Build and maintain dynamic websites and applications using PHP Laravel framework.",
|
description: "Build and maintain dynamic websites and applications using PHP Laravel framework.",
|
||||||
category: "Programming languages",
|
category: "Programming languages",
|
||||||
|
stars: 4,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "One-on-ones",
|
name: "One-on-ones",
|
||||||
description:
|
description:
|
||||||
"Conduct regular one-on-one meetings with junior developers and interns to guide their professional growth.",
|
"Conduct regular one-on-one meetings with junior developers and interns to guide their professional growth.",
|
||||||
category: "Team Management",
|
category: "Team Management",
|
||||||
|
stars: 4,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Scrum Master",
|
name: "Scrum Master",
|
||||||
description:
|
description:
|
||||||
"Facilitate Scrum meetings, manage sprint backlogs, refine user stories, and collaborate with the Product Owner.",
|
"Facilitate Scrum meetings, manage sprint backlogs, refine user stories, and collaborate with the Product Owner.",
|
||||||
category: "Collaboration",
|
category: "Collaboration",
|
||||||
|
stars: 2,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Finances",
|
name: "Finances",
|
||||||
description:
|
description:
|
||||||
"Oversee financial operations, manage budgets, and ensure financial compliance for a student organization.",
|
"Oversee financial operations, manage budgets, and ensure financial compliance for a student organization.",
|
||||||
category: "Finance",
|
category: "Finance",
|
||||||
|
stars: 2,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Event Organization",
|
name: "Event Organization",
|
||||||
description:
|
description:
|
||||||
"Plan, organize, and execute educational events for students, ensuring engaging and informative experiences.",
|
"Plan, organize, and execute educational events for students, ensuring engaging and informative experiences.",
|
||||||
category: "Organization",
|
category: "Organization",
|
||||||
|
stars: 3,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Communication",
|
name: "Communication",
|
||||||
description:
|
description:
|
||||||
"Effectively communicate ideas and information both verbally and in writing, adapting communication style to suit the audience and purpose.",
|
"Effectively communicate ideas and information both verbally and in writing, adapting communication style to suit the audience and purpose.",
|
||||||
category: "Collaboration",
|
category: "Collaboration",
|
||||||
|
stars: 4,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Problem-solving",
|
name: "Problem-solving",
|
||||||
description:
|
description:
|
||||||
"Apply analytical and creative thinking to identify, analyze, and resolve complex technical challenges, considering multiple perspectives and potential solutions.",
|
"Apply analytical and creative thinking to identify, analyze, and resolve complex technical challenges, considering multiple perspectives and potential solutions.",
|
||||||
category: "Problem-solving",
|
category: "Problem-solving",
|
||||||
|
stars: 5,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Teamwork",
|
name: "Teamwork",
|
||||||
description:
|
description:
|
||||||
"Collaborate effectively with team members in a Scrum environment, sharing knowledge, providing constructive feedback, and contributing to a positive and productive team dynamic.",
|
"Collaborate effectively with team members in a Scrum environment, sharing knowledge, providing constructive feedback, and contributing to a positive and productive team dynamic.",
|
||||||
category: "Collaboration",
|
category: "Collaboration",
|
||||||
|
stars: 5,
|
||||||
},
|
},
|
||||||
] satisfies SkillType[],
|
] satisfies SkillType[],
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -15,16 +15,19 @@ describe("SkillsService", () => {
|
||||||
name: "Writing tests",
|
name: "Writing tests",
|
||||||
description: "Writing tests",
|
description: "Writing tests",
|
||||||
category: "Testing",
|
category: "Testing",
|
||||||
|
stars: 5,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "TDD",
|
name: "TDD",
|
||||||
description: "Test Driven Development",
|
description: "Test Driven Development",
|
||||||
category: "Testing",
|
category: "Testing",
|
||||||
|
stars: 5,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "OOP",
|
name: "OOP",
|
||||||
description: "Object Orientated Programming",
|
description: "Object Orientated Programming",
|
||||||
category: "Programming style",
|
category: "Programming style",
|
||||||
|
stars: 5,
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -15,12 +15,14 @@ export class SkillsService {
|
||||||
getMany(filter?: Partial<SkillType>) {
|
getMany(filter?: Partial<SkillType>) {
|
||||||
const filtersValues = Object.entries(filter ?? {}).map(([key, filterValue]) => [
|
const filtersValues = Object.entries(filter ?? {}).map(([key, filterValue]) => [
|
||||||
key,
|
key,
|
||||||
new RegExp(filterValue, "i"),
|
new RegExp(String(filterValue), "i"),
|
||||||
]) as Array<[keyof SkillType, RegExp]>;
|
]) as Array<[keyof SkillType, RegExp]>;
|
||||||
if (!filter || filtersValues.length === 0) {
|
if (!filter || filtersValues.length === 0) {
|
||||||
return this.skills;
|
return this.skills;
|
||||||
}
|
}
|
||||||
|
|
||||||
return this.skills.filter((skill) => filtersValues.some(([key, filterValue]) => filterValue.test(skill[key])));
|
return this.skills.filter((skill) =>
|
||||||
|
filtersValues.some(([key, filterValue]) => filterValue.test(String(skill[key])))
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,12 @@
|
||||||
import { ApiProperty } from "@nestjs/swagger";
|
import { ApiProperty } from "@nestjs/swagger";
|
||||||
import { DtoClass } from "@/common/dtoClass.factory";
|
import { DtoClass } from "@/common/dtoClass.factory";
|
||||||
|
|
||||||
|
type StarRating = 0 | 1 | 2 | 3 | 4 | 5;
|
||||||
export type SkillType = {
|
export type SkillType = {
|
||||||
name: string;
|
name: string;
|
||||||
category: string;
|
category: string;
|
||||||
description: string;
|
description: string;
|
||||||
|
stars: StarRating;
|
||||||
};
|
};
|
||||||
|
|
||||||
export class SkillDto extends DtoClass<SkillType, SkillDto>() implements SkillType {
|
export class SkillDto extends DtoClass<SkillType, SkillDto>() implements SkillType {
|
||||||
|
|
@ -14,6 +16,8 @@ export class SkillDto extends DtoClass<SkillType, SkillDto>() implements SkillTy
|
||||||
readonly category: string;
|
readonly category: string;
|
||||||
@ApiProperty()
|
@ApiProperty()
|
||||||
readonly description: string;
|
readonly description: string;
|
||||||
|
@ApiProperty()
|
||||||
|
readonly stars: StarRating;
|
||||||
|
|
||||||
constructor(skill: SkillType) {
|
constructor(skill: SkillType) {
|
||||||
super(skill);
|
super(skill);
|
||||||
|
|
@ -21,6 +25,7 @@ export class SkillDto extends DtoClass<SkillType, SkillDto>() implements SkillTy
|
||||||
name: skill.name,
|
name: skill.name,
|
||||||
category: skill.category,
|
category: skill.category,
|
||||||
descriptions: skill.description,
|
descriptions: skill.description,
|
||||||
|
stars: skill.stars,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue