module Portfolio
class Project
attr_reader :title, :description, :technologies, :website
def initialize(title:, description:, technologies:, website: nil)
@title = title
@description = description
@technologies = technologies
@website = website
end
end
class ProjectCollection
def self.all
[
Project.new(
title: "Rad",
description: "A modern Ruby package manager that makes dependency management fast and intuitive.",
technologies: ["Rust", "CLI", "Package Manager"],
website: "https://radgems.dev"
),
Project.new(
title: "Custom Keyboard Firmware",
description: "Proprietary firmware for custom-built mechanical keyboards with advanced key mapping capabilities.",
technologies: ["C", "Hardware", "Firmware"],
website: nil
),
Project.new(
title: "Weather Station Dashboard",
description: "A real-time weather monitoring system with custom visualizations and alerts.",
technologies: ["Python", "IoT", "Data Visualization"],
website: nil
),
Project.new(
title: "Home Automation Dashboard",
description: "A Raspberry Pi powered dashboard for home automation with custom UI and device controls.",
technologies: ["JavaScript", "Node.js", "IoT"],
website: nil
)
]
end
end
end