feat: my team page
This commit is contained in:
87
lib/team-review-types.ts
Normal file
87
lib/team-review-types.ts
Normal file
@@ -0,0 +1,87 @@
|
||||
export interface TeamMember {
|
||||
uuid: string;
|
||||
firstName: string;
|
||||
lastName: string;
|
||||
teamId: string;
|
||||
email?: string;
|
||||
role?: string;
|
||||
joinDate?: string;
|
||||
}
|
||||
|
||||
export interface TeamMemberSkill {
|
||||
skillId: string;
|
||||
skillName: string;
|
||||
category: string;
|
||||
level: "never" | "not-autonomous" | "autonomous" | "expert";
|
||||
canMentor: boolean;
|
||||
wantsToLearn: boolean;
|
||||
}
|
||||
|
||||
export interface TeamMemberProfile {
|
||||
member: TeamMember;
|
||||
skills: TeamMemberSkill[];
|
||||
totalSkills: number;
|
||||
expertSkills: number;
|
||||
mentorSkills: number;
|
||||
learningSkills: number;
|
||||
averageLevel: number;
|
||||
}
|
||||
|
||||
export interface SkillGap {
|
||||
skillId: string;
|
||||
skillName: string;
|
||||
category: string;
|
||||
icon?: string;
|
||||
teamMembers: number;
|
||||
experts: number;
|
||||
mentors: number;
|
||||
learners: number;
|
||||
coverage: number; // Pourcentage de couverture
|
||||
risk: "low" | "medium" | "high";
|
||||
}
|
||||
|
||||
export interface CategoryCoverage {
|
||||
category: string;
|
||||
totalSkills: number;
|
||||
coveredSkills: number;
|
||||
coverage: number;
|
||||
experts: number;
|
||||
mentors: number;
|
||||
learners: number;
|
||||
}
|
||||
|
||||
export interface TeamReviewData {
|
||||
team: {
|
||||
id: string;
|
||||
name: string;
|
||||
direction: string;
|
||||
};
|
||||
members: TeamMemberProfile[];
|
||||
skillGaps: SkillGap[];
|
||||
categoryCoverage: CategoryCoverage[];
|
||||
recommendations: string[];
|
||||
stats: {
|
||||
totalMembers: number;
|
||||
totalSkills: number;
|
||||
averageTeamLevel: number;
|
||||
mentorshipOpportunities: number;
|
||||
learningNeeds: number;
|
||||
};
|
||||
}
|
||||
|
||||
export interface MentorOpportunity {
|
||||
mentor: TeamMember;
|
||||
mentee: TeamMember;
|
||||
skill: string;
|
||||
category: string;
|
||||
mentorLevel: "autonomous" | "expert";
|
||||
menteeLevel: "never" | "not-autonomous";
|
||||
}
|
||||
|
||||
export interface LearningPath {
|
||||
member: TeamMember;
|
||||
currentSkills: TeamMemberSkill[];
|
||||
targetSkills: TeamMemberSkill[];
|
||||
recommendedMentors: TeamMember[];
|
||||
estimatedTimeToAutonomy: number; // en mois
|
||||
}
|
||||
Reference in New Issue
Block a user