diff --git a/Core/Entities/CareerField.cs b/Core/Entities/CareerField.cs
index f1627be..cab0670 100644
--- a/Core/Entities/CareerField.cs
+++ b/Core/Entities/CareerField.cs
@@ -15,6 +15,11 @@ public class CareerField
///
public string Name { get; }
+ ///
+ /// Short description of the career field
+ ///
+ public string Description { get; }
+
///
/// Exact career names that belong to this field
///
@@ -30,12 +35,14 @@ public class CareerField
///
/// Unique identifier
/// Display name
+ /// Short description of the career field
/// Exact career name matches
/// Keywords for pattern matching
- public CareerField(int id, string name, IReadOnlyList directCareerMatches, IReadOnlyList patternKeywords)
+ public CareerField(int id, string name, string description, IReadOnlyList directCareerMatches, IReadOnlyList patternKeywords)
{
Id = id;
Name = name;
+ Description = description;
DirectCareerMatches = directCareerMatches ?? Array.Empty();
PatternKeywords = patternKeywords ?? Array.Empty();
}
diff --git a/Core/Utility/CareerFieldDefinitions.cs b/Core/Utility/CareerFieldDefinitions.cs
index 9f82d4c..190506c 100644
--- a/Core/Utility/CareerFieldDefinitions.cs
+++ b/Core/Utility/CareerFieldDefinitions.cs
@@ -76,205 +76,230 @@ public static class CareerFieldDefinitions
{
return new List
{
- // 1. Aerospace & Automotive Engineering
- new CareerField(
- 1,
- "Aerospace & Automotive Engineering",
- new[] { "Aeronautical engineer", "Aircraft systems engineer", "Automobile designer", "Automotive designer", "Automotive modeler", "Race car engineer" },
- new[] { "aeronautical", "aircraft", "automobile", "automotive", "race car" }
- ),
+ // 1. Aerospace & Automotive Engineering
+ new CareerField(
+ 1,
+ "Aerospace & Automotive Engineering",
+ "Careers focused on designing and engineering aircraft, spacecraft, and vehicles for transportation.",
+ new[] { "Aeronautical engineer", "Aircraft systems engineer", "Automobile designer", "Automotive designer", "Automotive modeler", "Race car engineer" },
+ new[] { "aeronautical", "aircraft", "automobile", "automotive", "race car" }
+ ),
- // 2. Mechanical & Robotics Engineering
- new CareerField(
- 2,
- "Mechanical & Robotics Engineering",
- new[] { "Machine designer", "Mechanical drafter", "Mechanical engineer", "Robotics engineer" },
- new[] { "mechanical", "robotics", "machine" }
- ),
+ // 2. Mechanical & Robotics Engineering
+ new CareerField(
+ 2,
+ "Mechanical & Robotics Engineering",
+ "Engineering disciplines involving mechanical systems, machinery design, and automated robotic systems.",
+ new[] { "Machine designer", "Mechanical drafter", "Mechanical engineer", "Robotics engineer" },
+ new[] { "mechanical", "robotics", "machine" }
+ ),
- // 3. Electrical & Electronics Engineering
- new CareerField(
- 3,
- "Electrical & Electronics Engineering",
- new[] { "Electrical engineer", "Electrical technician", "Electrician", "Electromechanical engineer", "Electronic analyst", "Electronic designer" },
- new[] { "electrical", "electronic", "electrician" }
- ),
+ // 3. Electrical & Electronics Engineering
+ new CareerField(
+ 3,
+ "Electrical & Electronics Engineering",
+ "Careers involving electrical systems, circuits, and electronic device design and maintenance.",
+ new[] { "Electrical engineer", "Electrical technician", "Electrician", "Electromechanical engineer", "Electronic analyst", "Electronic designer" },
+ new[] { "electrical", "electronic", "electrician" }
+ ),
- // 4. Civil & Structural Engineering
- new CareerField(
- 4,
- "Civil & Structural Engineering",
- new[] { "Civil engineer", "Construction analyst", "Construction manager", "General contractor", "Structural engineer", "Structural iron and steel work technician" },
- new[] { "civil", "construction", "structural", "contractor" }
- ),
+ // 4. Civil & Structural Engineering
+ new CareerField(
+ 4,
+ "Civil & Structural Engineering",
+ "Engineering fields focused on infrastructure, buildings, bridges, and construction project management.",
+ new[] { "Civil engineer", "Construction analyst", "Construction manager", "General contractor", "Structural engineer", "Structural iron and steel work technician" },
+ new[] { "civil", "construction", "structural", "contractor" }
+ ),
- // 5. Environmental & Energy Engineering
- new CareerField(
- 5,
- "Environmental & Energy Engineering",
- new[] { "Chemical engineer", "Energy efficiency technician", "Environmental engineer", "Solar engineer", "Solar panel installer", "Solar sales consultant" },
- new[] { "chemical", "energy", "environmental", "solar" }
- ),
+ // 5. Environmental & Energy Engineering
+ new CareerField(
+ 5,
+ "Environmental & Energy Engineering",
+ "Engineering careers focused on sustainable energy solutions, environmental protection, and chemical processes.",
+ new[] { "Chemical engineer", "Energy efficiency technician", "Environmental engineer", "Solar engineer", "Solar panel installer", "Solar sales consultant" },
+ new[] { "chemical", "energy", "environmental", "solar" }
+ ),
- // 6. General Engineering & Quality
- new CareerField(
- 6,
- "General Engineering & Quality",
- new[] { "Engineer", "Engineering manager", "Engineering technician", "Quality assurance engineer", "Quality engineer", "Standards engineer" },
- new[] { "engineer", "quality", "standards" }
- ),
+ // 6. General Engineering & Quality
+ new CareerField(
+ 6,
+ "General Engineering & Quality",
+ "Broad engineering roles including management, quality assurance, and standards compliance across various industries.",
+ new[] { "Engineer", "Engineering manager", "Engineering technician", "Quality assurance engineer", "Quality engineer", "Standards engineer" },
+ new[] { "engineer", "quality", "standards" }
+ ),
- // 7. Architecture & Urban Planning
- new CareerField(
- 7,
- "Architecture & Urban Planning",
- new[] { "Architect", "Community planner", "Interior designer", "Urban and regional planner" },
- new[] { "architect", "planner", "interior design", "urban" }
- ),
+ // 7. Architecture & Urban Planning
+ new CareerField(
+ 7,
+ "Architecture & Urban Planning",
+ "Design and planning careers focused on buildings, spaces, and community development.",
+ new[] { "Architect", "Community planner", "Interior designer", "Urban and regional planner" },
+ new[] { "architect", "planner", "interior design", "urban" }
+ ),
- // 8. Software Development
- new CareerField(
- 8,
- "Software Development",
- new[] { "Computer programmer", "Computer software engineer", "Programming & software development", "Software designer", "Software engineer" },
- new[] { "programming", "programmer", "software", "developer" }
- ),
+ // 8. Software Development
+ new CareerField(
+ 8,
+ "Software Development",
+ "Careers in creating, designing, and developing computer software applications and systems.",
+ new[] { "Computer programmer", "Computer software engineer", "Programming & software development", "Software designer", "Software engineer" },
+ new[] { "programming", "programmer", "software", "developer" }
+ ),
- // 9. IT & Networking
- new CareerField(
- 9,
- "IT & Networking",
- new[] { "Computer engineer", "Computer network specialist", "Computer technician", "Information support & services", "Network systems", "Technical support specialist", "Telecommunications manager" },
- new[] { "network", "computer", "technical support", "telecommunications", "IT" }
- ),
+ // 9. IT & Networking
+ new CareerField(
+ 9,
+ "IT & Networking",
+ "Information technology careers involving computer systems, networks, technical support, and telecommunications.",
+ new[] { "Computer engineer", "Computer network specialist", "Computer technician", "Information support & services", "Network systems", "Technical support specialist", "Telecommunications manager" },
+ new[] { "network", "computer", "technical support", "telecommunications", "IT" }
+ ),
- // 10. Cybersecurity & Digital Forensics
- new CareerField(
- 10,
- "Cybersecurity & Digital Forensics",
- new[] { "Cryptographer", "Cyber Crime Investigator", "Cyber defense incident responder", "Cyber forensics expert", "Cyber legal advisor", "Cyber operator", "Cybersecurity engineer", "Vulnerability assessor" },
- new[] { "cyber", "security", "forensics", "cryptography", "vulnerability" }
- ),
+ // 10. Cybersecurity & Digital Forensics
+ new CareerField(
+ 10,
+ "Cybersecurity & Digital Forensics",
+ "Security-focused careers protecting digital systems, investigating cybercrimes, and ensuring information security.",
+ new[] { "Cryptographer", "Cyber Crime Investigator", "Cyber defense incident responder", "Cyber forensics expert", "Cyber legal advisor", "Cyber operator", "Cybersecurity engineer", "Vulnerability assessor" },
+ new[] { "cyber", "security", "forensics", "cryptography", "vulnerability" }
+ ),
- // 11. Data Science & Analytics
- new CareerField(
- 11,
- "Data Science & Analytics",
- new[] { "Actuary", "Data analyst", "Data scientist", "Economist", "Mathematician", "Operations research analyst" },
- new[] { "data", "analyst", "actuary", "economist", "mathematician", "research" }
- ),
+ // 11. Data Science & Analytics
+ new CareerField(
+ 11,
+ "Data Science & Analytics",
+ "Careers analyzing data, applying mathematical and statistical methods to solve problems and make decisions.",
+ new[] { "Actuary", "Data analyst", "Data scientist", "Economist", "Mathematician", "Operations research analyst" },
+ new[] { "data", "analyst", "actuary", "economist", "mathematician", "research" }
+ ),
- // 12. CAD, CNC & Manufacturing
- new CareerField(
- 12,
- "CAD, CNC & Manufacturing",
- new[] { "CAD professional", "CNC programmer", "Manufacturing", "Production planner" },
- new[] { "CAD", "CNC", "manufacturing", "production" }
- ),
+ // 12. CAD, CNC & Manufacturing
+ new CareerField(
+ 12,
+ "CAD, CNC & Manufacturing",
+ "Careers in computer-aided design, manufacturing processes, and production planning.",
+ new[] { "CAD professional", "CNC programmer", "Manufacturing", "Production planner" },
+ new[] { "CAD", "CNC", "manufacturing", "production" }
+ ),
- // 13. Industrial & Product Design
- new CareerField(
- 13,
- "Industrial & Product Design",
- new[] { "Appraiser", "Commercial and industrial design", "Designer", "Industrial designer", "Product designer" },
- new[] { "designer", "design", "industrial", "product", "appraiser" }
- ),
+ // 13. Industrial & Product Design
+ new CareerField(
+ 13,
+ "Industrial & Product Design",
+ "Design careers creating products, commercial goods, and industrial solutions with focus on form and function.",
+ new[] { "Appraiser", "Commercial and industrial design", "Designer", "Industrial designer", "Product designer" },
+ new[] { "designer", "design", "industrial", "product", "appraiser" }
+ ),
- // 14. Visual Arts & Animation
- new CareerField(
- 14,
- "Visual Arts & Animation",
- new[] { "Animator", "Artist", "Computer animator", "Graphic artist", "Illustrator", "Multimedia designer" },
- new[] { "animator", "artist", "graphic", "illustrator", "multimedia" }
- ),
+ // 14. Visual Arts & Animation
+ new CareerField(
+ 14,
+ "Visual Arts & Animation",
+ "Creative careers in visual design, illustration, animation, and digital art creation.",
+ new[] { "Animator", "Artist", "Computer animator", "Graphic artist", "Illustrator", "Multimedia designer" },
+ new[] { "animator", "artist", "graphic", "illustrator", "multimedia" }
+ ),
- // 15. Game Design & Interactive Media
- new CareerField(
- 15,
- "Game Design & Interactive Media",
- new[] { "Game designer", "Game Play Tester", "Professional Gamer" },
- new[] { "game", "gamer", "gaming" }
- ),
+ // 15. Game Design & Interactive Media
+ new CareerField(
+ 15,
+ "Game Design & Interactive Media",
+ "Careers in video game design, development, testing, and professional gaming.",
+ new[] { "Game designer", "Game Play Tester", "Professional Gamer" },
+ new[] { "game", "gamer", "gaming" }
+ ),
- // 16. Audio & Music Production
- new CareerField(
- 16,
- "Audio & Music Production",
- new[] { "Audio designer or engineer", "Audio Engineer", "Audio operator or technician", "Broadcast technician", "Music composer" },
- new[] { "audio", "music", "broadcast", "sound" }
- ),
+ // 16. Audio & Music Production
+ new CareerField(
+ 16,
+ "Audio & Music Production",
+ "Careers in audio engineering, music composition, sound design, and broadcast technology.",
+ new[] { "Audio designer or engineer", "Audio Engineer", "Audio operator or technician", "Broadcast technician", "Music composer" },
+ new[] { "audio", "music", "broadcast", "sound" }
+ ),
- // 17. Video & Film Production
- new CareerField(
- 17,
- "Video & Film Production",
- new[] { "Audiovisual technician", "Director", "Entertainment/television broadcaster", "Videographer" },
- new[] { "video", "film", "director", "television", "broadcast", "videographer" }
- ),
+ // 17. Video & Film Production
+ new CareerField(
+ 17,
+ "Video & Film Production",
+ "Careers in video production, filmmaking, directing, and television broadcasting.",
+ new[] { "Audiovisual technician", "Director", "Entertainment/television broadcaster", "Videographer" },
+ new[] { "video", "film", "director", "television", "broadcast", "videographer" }
+ ),
- // 18. Web & Digital Communications
- new CareerField(
- 18,
- "Web & Digital Communications",
- new[] { "Instructional technologist", "Web & digital communications", "Webmaster", "Website designer" },
- new[] { "web", "website", "digital", "communications", "webmaster" }
- ),
+ // 18. Web & Digital Communications
+ new CareerField(
+ 18,
+ "Web & Digital Communications",
+ "Careers in web design, digital communication, and instructional technology.",
+ new[] { "Instructional technologist", "Web & digital communications", "Webmaster", "Website designer" },
+ new[] { "web", "website", "digital", "communications", "webmaster" }
+ ),
- // 19. Writing & Publishing
- new CareerField(
- 19,
- "Writing & Publishing",
- new[] { "Ad copy writer", "Editor", "Publisher", "Screenplay writer", "Speech writer", "Technical writer", "Writer" },
- new[] { "writing", "writer", "editor", "publisher", "copy" }
- ),
+ // 19. Writing & Publishing
+ new CareerField(
+ 19,
+ "Writing & Publishing",
+ "Careers in writing, editing, publishing, and content creation across various media formats.",
+ new[] { "Ad copy writer", "Editor", "Publisher", "Screenplay writer", "Speech writer", "Technical writer", "Writer" },
+ new[] { "writing", "writer", "editor", "publisher", "copy" }
+ ),
- // 20. Journalism & Public Relations
- new CareerField(
- 20,
- "Journalism & Public Relations",
- new[] { "Internal communications manager", "Motivational speaker", "Photojournalist", "Reporter" },
- new[] { "journalism", "reporter", "photojournalist", "communications", "speaker" }
- ),
+ // 20. Journalism & Public Relations
+ new CareerField(
+ 20,
+ "Journalism & Public Relations",
+ "Careers in news reporting, photojournalism, public relations, and communications management.",
+ new[] { "Internal communications manager", "Motivational speaker", "Photojournalist", "Reporter" },
+ new[] { "journalism", "reporter", "photojournalist", "communications", "speaker" }
+ ),
- // 21. Forensics & Criminal Investigation
- new CareerField(
- 21,
- "Forensics & Criminal Investigation",
- new[] { "Crime scene investigator", "Detective", "Forensic accountant", "Forensic anthropologist", "Forensic engineering scientist", "Forensic pathologist" },
- new[] { "forensic", "detective", "investigator", "crime" }
- ),
+ // 21. Forensics & Criminal Investigation
+ new CareerField(
+ 21,
+ "Forensics & Criminal Investigation",
+ "Careers in criminal investigation, forensic science, and analyzing evidence for legal proceedings.",
+ new[] { "Crime scene investigator", "Detective", "Forensic accountant", "Forensic anthropologist", "Forensic engineering scientist", "Forensic pathologist" },
+ new[] { "forensic", "detective", "investigator", "crime" }
+ ),
- // 22. Healthcare & Medical Technology
- new CareerField(
- 22,
- "Healthcare & Medical Technology",
- new[] { "Dietitian", "Doctor", "Epidemiologist", "Medical technologist", "Nurse", "Pharmacist", "Prosthetics practitioner" },
- new[] { "medical", "health", "doctor", "nurse", "pharmacist", "dietitian", "epidemiology" }
- ),
+ // 22. Healthcare & Medical Technology
+ new CareerField(
+ 22,
+ "Healthcare & Medical Technology",
+ "Medical and healthcare careers providing patient care, medical technology, and health services.",
+ new[] { "Dietitian", "Doctor", "Epidemiologist", "Medical technologist", "Nurse", "Pharmacist", "Prosthetics practitioner" },
+ new[] { "medical", "health", "doctor", "nurse", "pharmacist", "dietitian", "epidemiology" }
+ ),
- // 23. Science & Research
- new CareerField(
- 23,
- "Science & Research",
- new[] { "Botanist", "Food scientist", "Meteorologist", "Molecular biologist", "Physics instructor", "Plant geneticist", "Research and development scientist", "Research assistant", "Researcher" },
- new[] { "scientist", "research", "biology", "physics", "botanist", "meteorologist", "geneticist" }
- ),
+ // 23. Science & Research
+ new CareerField(
+ 23,
+ "Science & Research",
+ "Scientific research careers across biology, physics, meteorology, and other scientific disciplines.",
+ new[] { "Botanist", "Food scientist", "Meteorologist", "Molecular biologist", "Physics instructor", "Plant geneticist", "Research and development scientist", "Research assistant", "Researcher" },
+ new[] { "scientist", "research", "biology", "physics", "botanist", "meteorologist", "geneticist" }
+ ),
- // 24. Education & Training
- new CareerField(
- 24,
- "Education & Training",
- new[] { "Educator", "Teacher/trainer", "Technology education instructor" },
- new[] { "educator", "teacher", "trainer", "education", "instructor" }
- ),
+ // 24. Education & Training
+ new CareerField(
+ 24,
+ "Education & Training",
+ "Careers in teaching, training, and educational instruction across various subjects and technologies.",
+ new[] { "Educator", "Teacher/trainer", "Technology education instructor" },
+ new[] { "educator", "teacher", "trainer", "education", "instructor" }
+ ),
- // 25. Business, Legal & Government
- new CareerField(
- 25,
- "Business, Legal & Government",
- new[] { "Creative consultant", "Entrepreneur", "Government Official", "Lawyer", "Legal Aide", "Lobbyist", "Management executive", "Market researcher", "Marketing strategist", "Parliamentarian", "Politician", "Project manager", "Public affairs specialist", "Public policy specialist", "Recording Clerk", "Small business owner", "Volunteer manager" },
- new[] { "business", "legal", "lawyer", "government", "politician", "manager", "marketing", "consultant", "entrepreneur" }
- )
+ // 25. Business, Legal & Government
+ new CareerField(
+ 25,
+ "Business, Legal & Government",
+ "Careers in business management, legal services, government, politics, and public policy.",
+ new[] { "Creative consultant", "Entrepreneur", "Government Official", "Lawyer", "Legal Aide", "Lobbyist", "Management executive", "Market researcher", "Marketing strategist", "Parliamentarian", "Politician", "Project manager", "Public affairs specialist", "Public policy specialist", "Recording Clerk", "Small business owner", "Volunteer manager" },
+ new[] { "business", "legal", "lawyer", "government", "politician", "manager", "marketing", "consultant", "entrepreneur" }
+ )
};
}
}
diff --git a/WebApp/Components/Features/Events/CareerMapping.razor b/WebApp/Components/Features/Events/CareerMapping.razor
index 1889a14..c1e4360 100644
--- a/WebApp/Components/Features/Events/CareerMapping.razor
+++ b/WebApp/Components/Features/Events/CareerMapping.razor
@@ -42,6 +42,10 @@ else
{
@_selectedNodeInfo.Title
+ @if (!string.IsNullOrWhiteSpace(_selectedNodeInfo.Description))
+ {
+ @_selectedNodeInfo.Description
+ }
@if (_selectedNodeInfo.Careers != null && _selectedNodeInfo.Careers.Any())
{
Related Careers:
@@ -73,6 +77,7 @@ else
private class SelectedNodeInfo
{
public string Title { get; set; } = string.Empty;
+ public string? Description { get; set; }
public bool IsCareerField { get; set; }
public List? Careers { get; set; }
}
@@ -274,6 +279,7 @@ else
_selectedNodeInfo = new SelectedNodeInfo
{
Title = field.Name,
+ Description = field.Description,
IsCareerField = true,
Careers = careers?.ToList() ?? new List()
};
@@ -288,6 +294,7 @@ else
_selectedNodeInfo = new SelectedNodeInfo
{
Title = evt.Name,
+ Description = evt.Description,
IsCareerField = false,
Careers = evt.RelatedCareers.Select(c => c.Name).OrderBy(c => c).ToList()
};