Files
0x1eo.dev/README.md
Leandro Afonso 24e7da0447 init
2025-09-27 18:17:32 +01:00

215 lines
5.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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