Skip to content

Latest commit

 

History

History
168 lines (108 loc) · 7.6 KB

File metadata and controls

168 lines (108 loc) · 7.6 KB

🐺 Antoine ZANARDI's Portfolio

My personal portfolio website, built to showcase my profile, projects, and professional background — while also serving as a demonstration of clean, fully tested, and production-ready web development.

MIT License Coverage Quality Gate Status Mutation testing badge

👉 You can visit the live portfolio here: antoinezanardi.fr or check out the staging version at antoinezanardi-fr.vercel.app.


📖 Table of Contents


🚀 Features

This portfolio is not just a website, but also a playground for professional-grade practices:

  • Who I am — personal introduction & contact info.
  • Technical skills — languages, frameworks, and tools I master.
  • Portfolio — selected projects that I’m most proud of.
  • Professional experiences — my career journey.
  • Education & certifications — my academic path and achievements.

🛠️ Tech Stack

  • Nuxt 4 with TypeScript
  • Vue.js for UI development
  • Bootstrap for styling
  • Vercel — pre-production deployments
  • GCP (Google Cloud Platform) — production hosting

✅ Testing & Quality

This repository demonstrates how I build reliable software with strong testing strategies:

🧪 Robustness

💯 Unit Testing

Vitest

Tests count

Unit Tests Statements Coverage Unit Tests Functions Coverage

Unit Tests Lines Coverage Unit Tests Branches Coverage

This project is designed to be robust and handle various scenarios.

To achieve this, it is 100% unit tested with Vitest and has 100% code coverage.

🎭 End-to-End Testing

Playwright Cucumber

Scenarios

End-to-End tests are implemented using Playwright to ensure the application works as expected from the user's perspective.

🐋 Code Quality Scanner

SonarCloud CodeRabbit

The code quality is continuously monitored using SonarCloud.

You can check the code quality by clicking on one of the badges below:

Quality Gate Status Coverage Bugs Vulnerabilities Code Smells

Also, CodeRabbit is used to ensure best practices are followed on each commit.

👽 Mutation Testing

Stryker

StrykerJS is used to ensure the code is resilient to mutations.

You can check the mutation testing results by clicking on the badges below:

Mutation testing badge


🔄 Deployment Workflow

  • Staging → Automatically deployed to Vercel when merging into develop.
  • Production → Automatically deployed to GCP when merging into master.

🏗️ Getting Started

Clone the repository:

git clone https://github.com/antoinezanardi/antoinezanardi.fr.git
cd antoinezanardi.fr

Install dependencies:

pnpm install

Run the development server:

pnpm run dev

Build for production:

pnpm run build
pnpm run preview

Run tests:

# Unit tests
pnpm run test:unit

# End-to-End tests
pnpm run test:cucumber

# Mutation tests
pnpm run test:stryker

📜 License

This project is licensed under the MIT License. See the LICENSE file for details.