215 lines
5.6 KiB
Markdown
215 lines
5.6 KiB
Markdown
# Portfolio
|
||
|
||
A modern, responsive portfolio website showcasing cybersecurity and systems engineering projects. Built with Nuxt 3, Vue.js, and Tailwind CSS.
|
||
|
||
## 🚀 Live Site
|
||
|
||
Visit the live portfolio at [0x1eo.dev](https://0x1eo.dev)
|
||
|
||
## 📋 About
|
||
|
||
This portfolio showcases my work as a cybersecurity specialist and systems engineer, featuring:
|
||
|
||
- **Academic Projects**: University coursework including penetration testing, high-availability systems, and programming paradigms
|
||
- **Freelance Work**: Professional web development projects and client solutions
|
||
- **Technical Skills**: Cybersecurity, systems engineering, full-stack development
|
||
- **Interactive Design**: Modern UI/UX with smooth animations and responsive layout
|
||
|
||
## 🛠️ Tech Stack
|
||
|
||
- **Framework**: [Nuxt 3](https://nuxt.com/) - The Intuitive Vue Framework
|
||
- **Frontend**: [Vue.js 3](https://vuejs.org/) - The Progressive JavaScript Framework
|
||
- **Styling**: [Tailwind CSS](https://tailwindcss.com/) - A utility-first CSS framework
|
||
- **Language**: TypeScript for type safety
|
||
- **Build Tool**: Vite for fast development and building
|
||
- **Deployment**: Static site generation (SSG) ready
|
||
|
||
## 🏗️ Project Structure
|
||
|
||
```
|
||
portfolio/
|
||
├── app/
|
||
│ ├── components/ # Reusable Vue components
|
||
│ │ ├── ProjectCard.vue # Individual project display
|
||
│ │ ├── TheHeader.vue # Navigation header
|
||
│ │ └── TheFooter.vue # Site footer
|
||
│ ├── data/
|
||
│ │ └── projects.js # Project data and metadata
|
||
│ ├── pages/ # Route pages
|
||
│ │ ├── index.vue # Homepage
|
||
│ │ ├── about.vue # About page
|
||
│ │ └── projects/ # Projects section
|
||
│ └── app.vue # Root application component
|
||
├── public/ # Static assets
|
||
└── nuxt.config.ts # Nuxt configuration
|
||
```
|
||
|
||
## 🎨 Features
|
||
|
||
- **Responsive Design**: Optimized for desktop, tablet, and mobile
|
||
- **Project Filtering**: Filter projects by Academic/Freelance categories
|
||
- **Dark Theme**: Modern dark mode design with gradient accents
|
||
- **Smooth Animations**: Engaging CSS animations and transitions
|
||
- **SEO Optimized**: Meta tags, structured data, and semantic HTML
|
||
- **Performance**: Fast loading with static site generation
|
||
- **Accessibility**: WCAG compliant with proper focus management
|
||
|
||
## 📁 Projects Included
|
||
|
||
### Academic Projects
|
||
- **Penetration Testing & Vulnerability Exploitation** - Ethical hacking and security assessment
|
||
- **High-Availability Web Cluster** - Fault-tolerant infrastructure design
|
||
- **Football Simulator** - Java-based game simulation with OOP design patterns
|
||
- **Diet Platform Pro** - Full-stack web application with Angular and Node.js
|
||
- **Order Management System** - C programming with dynamic memory management
|
||
|
||
### Freelance Projects
|
||
- **Playlix Website** - Vue.js website development for gaming startup
|
||
|
||
## 🚀 Getting Started
|
||
|
||
### Prerequisites
|
||
- Node.js 18+ or Bun
|
||
- npm, pnpm, yarn, or bun package manager
|
||
|
||
### Installation
|
||
|
||
1. **Clone the repository**
|
||
```bash
|
||
git clone <repository-url>
|
||
cd portfolio
|
||
```
|
||
|
||
2. **Install dependencies**
|
||
```bash
|
||
# npm
|
||
npm install
|
||
|
||
# pnpm
|
||
pnpm install
|
||
|
||
# yarn
|
||
yarn install
|
||
|
||
# bun
|
||
bun install
|
||
```
|
||
|
||
### Development
|
||
|
||
Start the development server on `http://localhost:3000`:
|
||
|
||
```bash
|
||
# npm
|
||
npm run dev
|
||
|
||
# pnpm
|
||
pnpm dev
|
||
|
||
# yarn
|
||
yarn dev
|
||
|
||
# bun
|
||
bun run dev
|
||
```
|
||
|
||
### Production Build
|
||
|
||
Build the application for production:
|
||
|
||
```bash
|
||
# npm
|
||
npm run build
|
||
|
||
# pnpm
|
||
pnpm build
|
||
|
||
# yarn
|
||
yarn build
|
||
|
||
# bun
|
||
bun run build
|
||
```
|
||
|
||
### Preview Production Build
|
||
|
||
Locally preview the production build:
|
||
|
||
```bash
|
||
# npm
|
||
npm run preview
|
||
|
||
# pnpm
|
||
pnpm preview
|
||
|
||
# yarn
|
||
yarn preview
|
||
|
||
# bun
|
||
bun run preview
|
||
```
|
||
|
||
## 📝 Adding New Projects
|
||
|
||
To add a new project to the portfolio:
|
||
|
||
1. **Edit the projects data**
|
||
```javascript
|
||
// app/data/projects.js
|
||
export const projects = [
|
||
{
|
||
slug: 'project-slug',
|
||
group: 'Academic' | 'Freelance',
|
||
title: 'Project Title',
|
||
category: 'Course/Client Name',
|
||
date: 'YYYY – YYYY',
|
||
link: 'https://github.com/username/repo' | null,
|
||
description_points: [
|
||
'Key achievement or feature',
|
||
'Technical implementation detail',
|
||
'Impact or learning outcome'
|
||
],
|
||
tags: ['Technology', 'Skill', 'Concept'],
|
||
files: [ // Optional
|
||
{
|
||
name: 'Document Name',
|
||
filename: 'document.pdf',
|
||
type: 'pdf',
|
||
description: 'Document description'
|
||
}
|
||
]
|
||
}
|
||
]
|
||
```
|
||
|
||
2. **Add project files (if any)**
|
||
Place PDF documents in `public/data/files/`
|
||
|
||
3. **Test the changes**
|
||
The new project will automatically appear in the portfolio
|
||
|
||
## 🌐 Deployment
|
||
|
||
This project is configured for static site generation and can be deployed to any static hosting service:
|
||
|
||
- **Netlify**: Connect your repository and deploy automatically
|
||
- **Vercel**: Import your project and deploy with zero configuration
|
||
- **GitHub Pages**: Use the `nuxt generate` command and deploy the `dist` folder
|
||
- **Cloudflare Pages**: Connect your repository for automatic builds
|
||
|
||
For more deployment options, check the [Nuxt deployment documentation](https://nuxt.com/docs/getting-started/deployment).
|
||
|
||
## 📄 License
|
||
|
||
This portfolio is a personal project. Feel free to use the code structure as inspiration for your own portfolio, but please don't copy the content or design exactly.
|
||
|
||
## 📧 Contact
|
||
|
||
- **Email**: [leo@0x1eo.dev](mailto:leo@0x1eo.dev)
|
||
- **LinkedIn**: [Leandro Afonso](https://linkedin.com/in/0x1eo)
|
||
- **GitHub**: [0x1eo](https://github.com/0x1eo)
|
||
|
||
---
|
||
|
||
Built with ❤️ using Nuxt, Vue.js, and Tailwind CSS
|