Skip to content

Mega-Barto/Mega-Barto.github.io

Repository files navigation

Contributors Forks Stargazers Issues MIT License LinkedIn


MegaBarto's Portfolio

A simple project for show who I am and what kind of things I can make.
Explore the docs »

View Page · Report Bug

Table of Contents
  1. About The Project
  2. Project Architecture
  3. Getting Started
  4. Usage
  5. Roadmap
  6. Contributing
  7. License
  8. Contact
  9. Acknowledgments

About The Project

This portfolio is a showcase of my professional skills and technical expertise, built using cutting-edge technologies such as React, TypeScript, Vite, and Bun.

The main goal of this project is to highlight my capabilities as a professional, demonstrating my ability to create modern and efficient web applications. Through this webpage, I aim to provide potential employers and collaborators with a comprehensive view of my work and the value I can bring to their projects.

(back to top)

Built With

Notion React TypeScript Vite Bun

(back to top)

Project Architecture

Folder Structure

src/
├── components/           # Reusable UI components
│   ├── index.ts         # Barrel export for clean imports
│   ├── Header/          # Navigation header component
│   ├── Footer/          # Site footer component
│   ├── LanguageToggle/  # Internationalization toggle
│   └── sections/        # Page sections
│       ├── index.ts     # Section exports
│       ├── AutobiographySection/
│       └── ProjectsSection/
├── contents/            # Content data and configuration
│   ├── index.ts        # Content exports
│   ├── projects.ts     # Project data and interfaces
│   ├── navigation.ts   # Navigation items configuration
│   └── footer.ts       # Footer sections configuration
├── config/              # Application configuration
│   ├── index.ts        # Main configuration exports
│   ├── colors.ts       # Color palette and theme
│   ├── sections.ts     # Section configuration
│   └── socialLinks.ts  # Social media links config
├── i18n/               # Internationalization
│   ├── index.ts        # i18n setup and configuration
│   └── locales/        # Translation files
│       ├── en.json     # English translations
│       └── es.json     # Spanish translations
└── assets/             # Static assets
    └── react.svg       # Component icons and images

Key Features

🎯 Modular Component Architecture

  • Component Isolation: Each component is self-contained with its own CSS, TypeScript, and index files
  • Barrel Exports: Clean import statements using index.ts files throughout the project
  • Section-Based Layout: Logical separation of page sections for better organization

📦 Content Management System

  • Centralized Content: All data structures organized in dedicated contents/ directory
  • Type-Safe Data: TypeScript interfaces for projects, navigation, and footer content
  • Reusable Content Functions: Easy data access across multiple components
  • Separation of Concerns: Content logic separated from presentation components

🌍 Internationalization (i18n)

  • react-i18next Integration: Seamless language switching between English and Spanish
  • Type-Safe Translations: TypeScript support for translation keys
  • Scalable Localization: Easy addition of new languages through JSON files
  • Complete Coverage: All UI elements and content properly translated

⚙️ Configuration Management

  • Centralized Config: All configuration files organized in dedicated config folder
  • Environment Agnostic: Easy configuration changes without code modification
  • Social Links Management: Dynamic social media links with activation states
  • Color System: Centralized color palette and theming

🎨 Modern Styling Architecture

  • Component-Scoped CSS: Each component has its own CSS file for better maintainability
  • Custom CSS Variables: Consistent theming through CSS custom properties
  • Responsive Design: Mobile-first approach with modern CSS Grid and Flexbox
  • Performance Optimized: No external CSS framework dependencies

Library Usage

Core Technologies

  • React 19: Latest React features for modern component development
  • TypeScript: Full type safety and enhanced developer experience
  • Vite: Lightning-fast build tool and development server
  • Bun: High-performance JavaScript runtime and package manager

UI & Styling

  • react-icons: Comprehensive icon library for consistent iconography
  • Custom CSS: Tailored styling without framework dependencies
  • CSS Variables: Dynamic theming and color management

Internationalization

  • react-i18next: Industry-standard i18n solution
  • i18next-browser-languagedetector: Automatic language detection
  • JSON-based translations: Easy translation management

This architecture ensures the project remains maintainable, scalable, and developer-friendly while providing excellent performance and user experience.

(back to top)

Getting Started

This is an example of how you may give instructions on setting up your project locally. To get a local copy up and running follow these simple example steps.

Prerequisites

Make sure you have Node.js and npm installed, or Bun as an alternative faster JavaScript runtime and package manager.

  • Bun (alternative)
    curl -fsSL https://bun.sh/install | bash
    # or on Windows
    powershell -c "irm bun.sh/install.ps1 | iex"

Installation

  1. Clone the repo
    git clone https://github.com/mega-barto/mega-barto.github.io.git
  2. Navigate to the project directory
    cd mega-barto.github.io/megabarto.rocks
  3. Install packages (using npm or bun)
    npm install
    # or with bun
    bun install
  4. Start the development server
    npm run dev
    # or with bun
    bun dev
    Your application will be available at http://localhost:5173.

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the CC0 1.0 Universal License. See LICENSE for more information.

(back to top)

Contact

Juan Alejandro Pérez Bermudez - @Mega_Barto - personal.jperez@gmail.com

Project Link: https://github.com/mega-barto/mega-barto.github.io

(back to top)

About

MegaBarto's portfolio.

Resources

License

Stars

Watchers

Forks

Languages