init commit

This commit is contained in:
David Melendez
2026-01-14 22:44:08 +01:00
parent 1d98d30629
commit c3868062e6
72 changed files with 21172 additions and 1 deletions

168
src/data/formOptions.ts Normal file
View File

@@ -0,0 +1,168 @@
/**
* Form Options and Configuration Data
* Professional Resume Builder
*
* @author David Valera Melendez <david@valera-melendez.de>
* @created 2025-08-07
* @location Made in Germany 🇩🇪
*/
/**
* Common option interface for select fields
*/
export interface SelectOption {
value: string;
label: string;
}
/**
* Nationality options for European CV format
* Ordered by relevance for German job market
*/
export const nationalityOptions: SelectOption[] = [
{ value: 'German', label: 'German' },
{ value: 'EU Citizen', label: 'EU Citizen' },
{ value: 'Austrian', label: 'Austrian' },
{ value: 'Swiss', label: 'Swiss' },
{ value: 'French', label: 'French' },
{ value: 'Italian', label: 'Italian' },
{ value: 'Spanish', label: 'Spanish' },
{ value: 'Dutch', label: 'Dutch' },
{ value: 'Belgian', label: 'Belgian' },
{ value: 'Polish', label: 'Polish' },
{ value: 'Czech', label: 'Czech' },
{ value: 'Hungarian', label: 'Hungarian' },
{ value: 'Romanian', label: 'Romanian' },
{ value: 'Bulgarian', label: 'Bulgarian' },
{ value: 'Croatian', label: 'Croatian' },
{ value: 'Non-EU', label: 'Non-EU' },
{ value: 'American', label: 'American' },
{ value: 'Canadian', label: 'Canadian' },
{ value: 'British', label: 'British' },
{ value: 'Australian', label: 'Australian' },
{ value: 'Other', label: 'Other' },
];
/**
* Marital status options according to European CV standards
*/
export const maritalStatusOptions: SelectOption[] = [
{ value: 'Single', label: 'Single' },
{ value: 'Married', label: 'Married' },
{ value: 'Divorced', label: 'Divorced' },
{ value: 'Widowed', label: 'Widowed' },
{ value: 'Civil Partnership', label: 'Civil Partnership' },
{ value: 'Other', label: 'Other' },
];
/**
* Visa status options for German/European employment
*/
export const visaStatusOptions: SelectOption[] = [
{ value: 'German Citizen', label: 'German Citizen' },
{ value: 'EU Citizen', label: 'EU Citizen' },
{ value: 'Blue Card', label: 'EU Blue Card' },
{ value: 'Work Permit', label: 'Work Permit' },
{ value: 'Student Visa', label: 'Student Visa (Working Rights)' },
{ value: 'Visa Required', label: 'Visa Required' },
{ value: 'Other', label: 'Other' },
];
/**
* Skill categories for professional development
* Organized by modern tech industry standards
*/
export const skillCategories: string[] = [
'Programming Languages',
'Frontend Development',
'Backend Development',
'Full Stack Development',
'Mobile Development',
'DevOps & Cloud',
'Database Technologies',
'Frameworks & Libraries',
'Tools & Technologies',
'Design & UI/UX',
'Data Science & Analytics',
'Machine Learning & AI',
'Quality Assurance',
'Project Management',
'Soft Skills',
'Communication',
'Languages',
'Certifications',
'Other',
];
/**
* Proficiency levels with European framework alignment
*/
export const proficiencyLevels: SelectOption[] = [
{ value: 'Beginner', label: 'Beginner (A1-A2)' },
{ value: 'Intermediate', label: 'Intermediate (B1-B2)' },
{ value: 'Advanced', label: 'Advanced (C1)' },
{ value: 'Expert', label: 'Expert/Native (C2)' },
];
/**
* Language proficiency levels following CEFR standards
*/
export const languageProficiencyLevels: SelectOption[] = [
{ value: 'A1', label: 'A1 - Beginner' },
{ value: 'A2', label: 'A2 - Elementary' },
{ value: 'B1', label: 'B1 - Intermediate' },
{ value: 'B2', label: 'B2 - Upper Intermediate' },
{ value: 'C1', label: 'C1 - Advanced' },
{ value: 'C2', label: 'C2 - Proficient' },
{ value: 'Native', label: 'Native Speaker' },
];
/**
* Common European countries for location/experience fields
*/
export const europeanCountries: SelectOption[] = [
{ value: 'Germany', label: 'Germany' },
{ value: 'Austria', label: 'Austria' },
{ value: 'Switzerland', label: 'Switzerland' },
{ value: 'Netherlands', label: 'Netherlands' },
{ value: 'Belgium', label: 'Belgium' },
{ value: 'France', label: 'France' },
{ value: 'Italy', label: 'Italy' },
{ value: 'Spain', label: 'Spain' },
{ value: 'Portugal', label: 'Portugal' },
{ value: 'United Kingdom', label: 'United Kingdom' },
{ value: 'Ireland', label: 'Ireland' },
{ value: 'Denmark', label: 'Denmark' },
{ value: 'Sweden', label: 'Sweden' },
{ value: 'Norway', label: 'Norway' },
{ value: 'Finland', label: 'Finland' },
{ value: 'Poland', label: 'Poland' },
{ value: 'Czech Republic', label: 'Czech Republic' },
{ value: 'Hungary', label: 'Hungary' },
{ value: 'Romania', label: 'Romania' },
{ value: 'Bulgaria', label: 'Bulgaria' },
{ value: 'Croatia', label: 'Croatia' },
{ value: 'Other', label: 'Other' },
];
/**
* German major cities for location fields
*/
export const germanCities: SelectOption[] = [
{ value: 'Berlin', label: 'Berlin' },
{ value: 'Munich', label: 'Munich (München)' },
{ value: 'Hamburg', label: 'Hamburg' },
{ value: 'Frankfurt am Main', label: 'Frankfurt am Main' },
{ value: 'Cologne', label: 'Cologne (Köln)' },
{ value: 'Stuttgart', label: 'Stuttgart' },
{ value: 'Düsseldorf', label: 'Düsseldorf' },
{ value: 'Leipzig', label: 'Leipzig' },
{ value: 'Dortmund', label: 'Dortmund' },
{ value: 'Essen', label: 'Essen' },
{ value: 'Dresden', label: 'Dresden' },
{ value: 'Bremen', label: 'Bremen' },
{ value: 'Hannover', label: 'Hannover' },
{ value: 'Nuremberg', label: 'Nuremberg (Nürnberg)' },
{ value: 'Duisburg', label: 'Duisburg' },
{ value: 'Other', label: 'Other' },
];