Updates eslint and typescript-eslint dependencies. Migrates to a new portfolio structure with components, styling, route management, and internationalization. Adds project display with multiple project types using custom components. Adds image assets to be displayed in experience sections
76 lines
1.4 KiB
Markdown
76 lines
1.4 KiB
Markdown
# Portfolio
|
|
|
|
Personal portfolio website showcasing my projects and skills as a Full Stack Developer.
|
|
|
|
## Tech Stack
|
|
|
|
- React 18 with TypeScript
|
|
- Vite for fast development and build
|
|
- Tailwind CSS for styling
|
|
- Motion for animations
|
|
- React Router for navigation
|
|
- i18next for internationalization (French/English)
|
|
|
|
## Features
|
|
|
|
- Responsive design with mobile-first approach
|
|
- Dark/Light theme with system preference support
|
|
- Animated page transitions and interactions
|
|
- Multi-language support
|
|
- Project showcase with detailed views
|
|
- Skills and experience sections
|
|
- Contact information
|
|
|
|
## Development
|
|
|
|
Install dependencies:
|
|
|
|
```bash
|
|
npm install
|
|
```
|
|
|
|
Start development server:
|
|
|
|
```bash
|
|
npm run dev
|
|
```
|
|
|
|
Build for production:
|
|
|
|
```bash
|
|
npm run build
|
|
```
|
|
|
|
Preview production build:
|
|
|
|
```bash
|
|
npm run preview
|
|
```
|
|
|
|
## Project Structure
|
|
|
|
```
|
|
src/
|
|
├── components/ # React components
|
|
├── i18n/ # Translation files (en/fr)
|
|
├── icons/ # SVG icon components
|
|
└── styles/ # Global styles and CSS
|
|
```
|
|
|
|
## Internationalization
|
|
|
|
Translations are modularized by section in JSON files under `src/i18n/en/` and `src/i18n/fr/`. Each section (nav, hero, about, experience, etc.) has its own file for easy maintenance.
|
|
|
|
## Theme System
|
|
|
|
The site supports three theme modes:
|
|
- Light mode
|
|
- Dark mode
|
|
- System preference (auto-detect)
|
|
|
|
Theme preference is persisted in localStorage.
|
|
|
|
## License
|
|
|
|
All rights reserved.
|