Skip to content

RustyRory/portfolio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 

Repository files navigation

Damien Paszkiewicz — Portfolio

Portfolio personnel de Damien Paszkiewicz (alias Rusty), développeur full-stack en formation CDA à MyDigitalSchool Angers.

Construit avec Next.js 15 App Router + Tailwind CSS v4, déployé sur Vercel.


Aperçu

Single-page application avec navigation par ancres :

Section Ancre
Accueil (hero) #home
À propos #about
Projets #projects
Musique #music
Contact #contact

La page /cv est une page dédiée avec export PDF intégré.


Stack technique


Structure du projet

portfolio-web/
├── app/
│   ├── layout.tsx          # Layout global (Navbar, Footer, metadata)
│   ├── page.tsx            # Page d'accueil (single-page)
│   ├── icon.tsx            # Favicon généré dynamiquement
│   ├── globals.css         # Styles globaux + scroll-behavior
│   ├── sitemap.ts          # Génération automatique du sitemap.xml
│   └── cv/
│       └── page.tsx        # Page CV avec export PDF
├── components/
│   ├── Navbar.tsx          # Navbar sticky avec menu burger mobile
│   ├── Footer.tsx          # Footer avec liens sociaux
│   ├── HeroSection.tsx     # Section d'accueil
│   ├── AboutSection.tsx    # Section à propos (stack, centres d'intérêt)
│   ├── ProjectsSection.tsx # Section projets
│   ├── ProjectsGrid.tsx    # Grille filtrée (tous / personnel / scolaire / groupe)
│   ├── ProjectCard.tsx     # Carte individuelle de projet
│   ├── MusicSection.tsx    # Section musique (placeholder Monochrome)
│   ├── ContactSection.tsx  # Section contact avec formulaire mailto
│   └── PrintButton.tsx     # Bouton export PDF (html-to-image + pdf-lib)
└── data/
    └── projects.json       # Données des projets

Démarrage local

Prérequis : Node.js 18+

# Cloner le repo
git clone https://github.com/RustyRory/Portfolio.git
cd Portfolio/portfolio-web

# Installer les dépendances
npm install

# Lancer le serveur de développement
npm run dev

Ouvre http://localhost:3000.


Ajouter un projet

Édite data/projects.json en ajoutant un objet :

{
  "title": "Nom du projet",
  "type": "personnel | scolaire | groupe",
  "description": "Description courte du projet.",
  "technologies": ["Next.js", "TypeScript"],
  "github": "https://github.com/RustyRory/...",
  "demo": "https://..."
}

Le projet apparaît automatiquement dans la section Projets avec les filtres.


Export PDF du CV

Le bouton Télécharger en PDF sur la page /cv :

  1. Capture le DOM du CV avec html-to-image (rendu natif du navigateur, compatible Tailwind v4)
  2. Génère un PDF A4 avec pdf-lib
  3. Injecte des annotations de liens cliquables (email, LinkedIn, GitHub) avec conversion des coordonnées DOM → PDF

Musique (Monochrome)

La section Musique est un placeholder en attente du déploiement d'une instance Monochrome self-hosted. L'intégration prévue est une API route Next.js qui proxifie l'API interne de Monochrome.


Déploiement

Le projet est déployé sur Vercel avec :

  • Root Directory : portfolio-web
  • Framework Preset : Next.js
  • Variable d'environnement (optionnelle) : NEXT_PUBLIC_SITE_URL pour le sitemap

Licence

Code source disponible librement. Contenu (textes, photo) — tous droits réservés.

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors