Prerequisites
Before you begin, ensure you have the following installed:Node.js
Version 18.x or higher recommended
Package Manager
npm, yarn, or pnpm
Git
For cloning the repository
Code Editor
VS Code, WebStorm, or your preferred editor
Installation
Clone the Repository
Clone the portfolio repository to your local machine:
Make sure you have Git installed and configured on your system.
Install Dependencies
Install all required npm packages:This will install:
- Nuxt 3 framework
- Vue.js and Vue Router
- TailwindCSS
- Typed.js for animations
- All other dependencies
Start Development Server
Run the development server:The application will be available at
http://localhost:3000You should see the portfolio homepage with the hero section and navigation.
Explore the Application
Navigate through the different sections:
- Home (/) - Hero section with animated typing
- Introduction (#introduction) - About section with stats
- References (#references) - Company project showcase
- Experiences (#experiences) - Professional timeline
- Skills (#competences) - Technology cards
- Projects (#projets) - Project gallery
- Contact (#contact) - Contact form
- CV (/cv) - Resume page
Project Structure
Understand the key directories and files:Configuration
Nuxt Configuration
The main configuration is innuxt.config.ts:
nuxt.config.ts
Key Configuration Options
Key Configuration Options
- app.head: Meta tags, language, and external scripts (Google Analytics, Ionicons)
- colorMode: Dark mode configuration
- modules: Nuxt modules for Tailwind, AOS animations, image optimization, sitemap, and color mode
- site: SEO configuration with site URL and name
- vue.compilerOptions: Custom element configuration for Ionicons
Tailwind Configuration
tailwind.config.js
Development Workflow
Hot Module Replacement
The dev server supports HMR - your changes will be reflected instantly without page refresh.
Edit any
.vue file and see the changes appear immediately in your browser.Dark Mode Testing
Click the moon/sun icon in the navbar to toggle between light and dark modes.The theme is managed by
@nuxtjs/color-mode and persists in localStorage.Building for Production
When you’re ready to deploy:.output directory.
Preview Production Build
Test the production build locally:Deployment to Netlify
The portfolio is configured for Netlify deployment:Connect Repository
- Log in to Netlify
- Click “Add new site” → “Import an existing project”
- Connect your Git repository
Configure Build Settings
Netlify will auto-detect Nuxt 3. Verify these settings:
- Build command:
npm run build - Publish directory:
.output/public - Functions directory:
.output/server
Enable Netlify Forms
The contact form uses Netlify Forms (already configured in the code):Enable reCAPTCHA in Netlify’s form settings for spam protection.
Troubleshooting
Port Already in Use
Port Already in Use
If port 3000 is already in use, Nuxt will automatically try the next available port. You can also specify a custom port:
Typed.js Not Animating
Typed.js Not Animating
Make sure the element with class
.typed exists and Typed.js is initialized in the onMounted hook:Dark Mode Not Working
Dark Mode Not Working
Verify that
@nuxtjs/color-mode is installed and configured in nuxt.config.ts:Images Not Loading
Images Not Loading
Images should be in the
public/images/ directory. Reference them without the public prefix:Next Steps
Explore Features
Learn about all the portfolio features in detail
Customization Guide
Customize content, styling, and components (coming soon)