Skip to content

mdafaardiansyah/web-profilev1

Repository files navigation

🌟 Portfolio Website

A modern, responsive portfolio website showcasing professional excellence

React Styled Components Docker CI/CD


πŸ“– Overview

This is a modern, responsive portfolio website built with React.js that showcases professional information, skills, projects, education, and experience in an elegant and interactive user interface. The project implements DevSecOps best practices with comprehensive CI/CD pipelines, security scanning, and quality assurance.

✨ Features

🎨 User Interface

  • πŸ“± Responsive Design - Works seamlessly on all devices
  • πŸŒ™ Dark Theme UI - Modern and elegant dark interface
  • ⌨️ Typewriter Effect - Interactive hero section animation
  • 🎯 Smooth Navigation - Seamless scrolling and transitions
  • πŸ–ΌοΈ Project Modals - Detailed project showcase with interactive modals

πŸ”§ Technical Excellence

  • πŸš€ Performance Optimized - Fast loading and smooth interactions
  • πŸ›‘οΈ Security First - Comprehensive security scanning with Trivy
  • πŸ“Š Quality Assured - SonarQube integration for code quality
  • πŸ”„ CI/CD Pipeline - Automated testing, building, and deployment
  • 🐳 Containerized - Docker support for consistent deployments

πŸ› οΈ Tech Stack

Category Technologies
Frontend React JavaScript
Styling Styled Components CSS3
UI/UX Material UI React Router
DevOps Docker Jenkins GitHub Actions
Quality SonarQube Trivy
Deployment GitHub Pages Nginx

Project Structure

web-profilev1/
β”œβ”€β”€ public/                # Public assets
β”œβ”€β”€ src/                   # Source files
β”‚   β”œβ”€β”€ components/        # React components
β”‚   β”‚   β”œβ”€β”€ AboutMe/       # About section component
β”‚   β”‚   β”œβ”€β”€ Education/     # Education section component
β”‚   β”‚   β”œβ”€β”€ Experience/    # Experience section component
β”‚   β”‚   β”œβ”€β”€ Footer/        # Footer component
β”‚   β”‚   β”œβ”€β”€ HeroBgAnimation/ # Hero background animation
β”‚   β”‚   β”œβ”€β”€ HeroSection/   # Hero section component
β”‚   β”‚   β”œβ”€β”€ Navbar/        # Navigation bar component
β”‚   β”‚   β”œβ”€β”€ ProjectDetails/ # Project details modal
β”‚   β”‚   β”œβ”€β”€ Projects/      # Projects section component
β”‚   β”‚   └── Skills/        # Skills section component
β”‚   β”œβ”€β”€ data/              # Data files
β”‚   β”‚   └── constants.js   # Website content and configuration
β”‚   β”œβ”€β”€ images/            # Image assets
β”‚   β”œβ”€β”€ utils/             # Utility functions
β”‚   β”‚   └── Themes.js      # Theme configuration
β”‚   β”œβ”€β”€ App.css            # Global styles
β”‚   β”œβ”€β”€ App.js             # Main application component
β”‚   └── index.js           # Application entry point
β”œβ”€β”€ deployments/           # Deployment configurations
β”‚   β”œβ”€β”€ docker/            # Docker configuration
β”‚   β”œβ”€β”€ jenkins/           # Jenkins pipeline
β”‚   └── nginx/             # Nginx configuration
β”œβ”€β”€ .github/               # GitHub workflows
β”œβ”€β”€ package.json           # Dependencies and scripts
└── README.md              # Project documentation

Getting Started

Prerequisites

  • Node.js (v14.0.0 or later)
  • npm (v6.0.0 or later)

Installation

  1. Clone the repository

    git clone https://github.com/yourusername/web-profilev1.git
    cd web-profilev1
  2. Install dependencies

    npm install
  3. Start the development server

    npm start

    The application will open in your default browser at http://localhost:3000.

Building for Production

npm run build

This will create an optimized production build in the build folder.

Deployment

Docker Deployment

A Docker configuration is included for containerized deployment:

docker compose up -d

Customization

Content

All website content is stored in src/data/constants.js. You can modify this file to update:

  • Personal information
  • Skills
  • Experience
  • Projects
  • Education

Styling

The website uses a combination of Styled Components and CSS:

  • Global styles are in src/App.css
  • Component-specific styles are in their respective folders
  • Theme configuration is in src/utils/Themes.js

CI/CD Pipeline

This project includes CI/CD configurations:

  • GitHub Actions workflow in .github/workflows/cicd.yml
  • Jenkins pipeline in deployments/jenkins/Jenkinsfile

πŸ“š Documentation Hub

πŸ—‚οΈ Complete Project Documentation

πŸ“‹ Document 🎯 Purpose πŸ“– Description
πŸ“– Technical Documentation Architecture & Implementation Comprehensive technical details, component architecture, styling system, and performance optimization strategies
🧩 Component Guide Development & Customization Step-by-step guide for creating, modifying, and extending components with best practices and code examples
πŸ“ Changelog Version History & Updates Detailed record of all changes, new features, bug fixes, and DevSecOps implementation milestones

πŸš€ Quick Navigation

Technical Docs Component Guide Changelog


πŸ“‹ Documentation Overview

Perfect for: Developers, DevOps Engineers, Technical Leads

Dive deep into the technical architecture, component structure, styling system, and performance optimizations. Learn about the build process, deployment strategies, and browser compatibility.

Perfect for: Frontend Developers, UI/UX Designers, Contributors

Master the art of component development with detailed guides on creating, modifying, and extending components. Includes best practices, responsive design patterns, and theming guidelines.

πŸ“ˆ Changelog

Perfect for: Project Managers, Stakeholders, Team Members

Track the evolution of the project with detailed version history, feature additions, security enhancements, and DevSecOps implementation milestones.

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors