Modernization of the project (V2)#11
Merged
Merged
Conversation
…technologies and update experience details
…and set up Tailwind CSS styles - Added react.svg and vite.svg to the assets directory. - Created a reusable Button component with variants and sizes using class-variance-authority. - Established global styles in index.css, including theme variables and dark mode support. - Implemented utility function for class name merging in utils.ts. - Set up main entry point in main.tsx to render the App component.
- Introduced brand icons for LinkedIn and GitHub in `brand-icons.tsx`. - Created a comprehensive set of UI components in `fluent.tsx`, including Card, Buttons, Tags, and more, to enhance the user interface. - Implemented hooks for theme management and scroll spy functionality in `hooks.ts`. - Added a structured CV data model in `cv.ts` to support personal information and project details.
…g, and update personal information
- Added Exadel logo in SVG format. - Added Fotando logo in PNG format. - Added Lightpoint Global logo in PNG format. - Added Microsoft logo in ICO format.
…ith new technologies
…tions and structure
…r better readability
- Added `yaml` package to handle YAML parsing. - Introduced `gen:schema` script to regenerate CV schema from YAML data. - Updated `cv.schema.json` to reflect changes in CV structure, including renaming properties and adjusting required fields. - Modified `cv.yml` to use YAML anchors for organizations and updated skills structure. - Enhanced schema definitions for tech groups and self-taught skills.
…pany and school data feat: add YAML loader plugin to Vite configuration for importing YAML files chore: create vite-env.d.ts to declare modules for YAML file imports
…s and improve tech-group handling
…lio component to utilize new data structure
…ent for dynamic rendering
…tions, education, strengths, and CTA; update Portfolio component for dynamic rendering
- Changed "contractTypes" to "contractType" in cv.schema.json and updated related types in cv.ts. - Removed "about", "experience", and "technologies" sections from CV schema, replacing them with "preferredStack". - Updated CV data structure in cv.yml to reflect the new schema, including changes to certifications and education. - Introduced sections schema and data in sections.schema.json and sections.yml for better separation of UI text from CV data. - Updated Portfolio component to utilize new sections data, including titles and descriptions for various sections. - Refactored template application for dynamic content rendering in sections.ts.
- Updated `sync-cv-schema.ts` to include `PreferredStackGroup` in schema. - Modified `cv.schema.json` to reflect new structure for preferred stack. - Changed `cv.ts` to normalize preferred stack as a record instead of an array. - Adjusted `cv.yml` to align with new preferred stack format. - Cleaned up comments and code structure across various components for clarity. - Removed unnecessary comments and consolidated related code sections in `Portfolio.tsx`, `Work.tsx`, and other files. - Improved event handling in `App.tsx` and `site-header.tsx` for better routing.
… and update robots.txt
- Introduced RECENT_YEARS constant in sections.ts for consistent recency window usage. - Updated technology description in sections.yml to reflect recent years of experience. - Refactored Portfolio.tsx to utilize productionYearsOfExperience and RECENT_YEARS for accurate experience calculations. - Enhanced Skills component to compute category density based on recent technology usage. - Implemented CV export functionality to generate Markdown and text files from CV data. - Added cv-docx plugin to create a Word document version of the CV.
…onality; update CV document generation
- Added pdfmake library for PDF generation. - Created cv-pdf.ts to handle PDF resume generation. - Updated resume-button component to support format selection (PDF/DOCX). - Improved styling and interaction for the resume button with dropdown menu. - Refactored existing DOCX generation logic to align with new PDF functionality. - Updated package.json to include pdfmake and its type definitions.
…component - Deleted the `cv-docx.ts` file which contained the logic for generating DOCX resumes. - Updated `ResumeButton` component to remove dropdown for format selection, now only supports PDF download. - Simplified button styling and functionality, retaining only the PDF download feature.
…eness in Portfolio
…nt; add MatchJob page integration
…and build process
|
Azure Static Web Apps: Your stage site is ready! Visit it here: https://polite-wave-0c3faae03-11.westeurope.5.azurestaticapps.net |
|
Azure Static Web Apps: Your stage site is ready! Visit it here: https://polite-wave-0c3faae03-11.westeurope.5.azurestaticapps.net |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces a major refactor and modernization of the project, migrating from Fluent UI and Prettier to a new tech stack based on Tailwind CSS, Radix UI, and Shadcn UI. It also updates dependencies, project structure, and configuration to align with current best practices for React, TypeScript, and Vite projects. The most important changes are summarized below.
Tech stack and dependency overhaul:
src/components/Flex,src/components/Paragraph.tsx,src/components/SectionFrame.tsx,src/components/Media.tsx) [1] [2] [3] [4] [5].package.jsonto use React 19, Tailwind CSS, Radix UI, Shadcn UI, and related libraries; removed Fluent UI, Prettier, and other unused packages.Project configuration and tooling updates:
.prettierrc) and VSCode-specific settings, switching to a flat ESLint configuration with recommended settings for React and TypeScript (eslint.config.js,.vscode/settings.json) [1] [2] [3].components.json,.claude/settings.json) [1] [2].Routing and SEO improvements:
src/App.tsx, with meta tag management for SEO and gated routes.public/staticwebapp.config.jsonand updatedpublic/robots.txtto control indexing and navigation fallback for certain routes [1] [2].Build and schema automation:
scripts/sync-cv-schema.ts) to automatically sync dynamic enums and properties in the CV schema from a YAML source, and hooked it into the build/dev process [1] [2].Documentation and scaffolding:
README.mddescribing the updated stack, ESLint configuration, and recommendations for further expansion.index.htmltemplate for the Vite-based app.Overall, this PR modernizes the codebase, improves maintainability, and sets up the project for scalable frontend development using current best practices.