Skip to content

A modern, responsive portfolio website built with Vue 3, TypeScript, and Tailwind CSS. Features a clean design with emerald/green color scheme and smooth animations.

Notifications You must be signed in to change notification settings

Zadeka/web-portofolio-vue

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌟 Portfolio Website - Oxa Defrizal Khasay

A modern, responsive portfolio website built with Vue 3, TypeScript, and Tailwind CSS. Features a clean design with emerald/green color scheme and smooth animations.

Vue.js TypeScript Tailwind CSS Vite

✨ Features

  • 🎨 Modern UI/UX - Clean and aesthetic design with emerald/green theme
  • πŸŒ— Dark Mode - Seamless light/dark theme switching
  • πŸ“± Responsive Design - Optimized for all devices (mobile, tablet, desktop)
  • ⚑ Fast Performance - Built with Vite for lightning-fast development and production builds
  • 🎭 Smooth Animations - Beautiful transitions using @vueuse/motion
  • 🧩 Component Library - Powered by Shadcn Vue components
  • 🎯 Type-Safe - Full TypeScript support for better DX
  • β™Ώ Accessible - WCAG compliant with semantic HTML

πŸ› οΈ Tech Stack

Core

  • Vue 3 - Progressive JavaScript framework
  • TypeScript - Type-safe JavaScript
  • Vite - Next generation frontend tooling

Styling

  • Tailwind CSS 4.0 - Utility-first CSS framework
  • Shadcn Vue - Re-usable components built with Radix Vue
  • Lucide Icons - Beautiful & consistent icon set

Animations & Utils

  • @vueuse/motion - Vue composables for animations
  • @vueuse/core - Collection of essential Vue composition utilities
  • class-variance-authority - CSS utility for component variants
  • clsx & tailwind-merge - Utility for constructing className strings

πŸ“ Project Structure

web-portofolio-vue/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ assets/          # Static assets (images, SVG patterns)
β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”œβ”€β”€ layout/      # Layout components (Navbar, Footer)
β”‚   β”‚   β”œβ”€β”€ sections/    # Page sections (Hero, About, Projects, Experience)
β”‚   β”‚   └── ui/          # Shadcn UI components
β”‚   β”œβ”€β”€ data/            # Portfolio data (projects, experience, etc.)
β”‚   β”œβ”€β”€ lib/             # Utility functions
β”‚   β”œβ”€β”€ App.vue          # Root component
β”‚   β”œβ”€β”€ main.ts          # Application entry point
β”‚   └── style.css        # Global styles & Tailwind config
β”œβ”€β”€ public/              # Public static files
└── index.html           # HTML entry point

πŸš€ Getting Started

Prerequisites

  • Node.js (v18 or higher)
  • npm or yarn or pnpm

Installation

  1. Clone the repository

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

    npm install
  3. Run development server

    npm run dev
  4. Open your browser

    http://localhost:5173
    

Build for Production

npm run build

The built files will be in the dist directory.

Preview Production Build

npm run preview

🎨 Customization

Color Scheme

The portfolio uses an emerald/green color scheme defined in src/style.css:

:root {
  --primary: 142.1 76.2% 36.3%; /* Emerald */
  --primary-foreground: 355.7 100% 97.3%;
  /* ... other color variables */
}

To change the color scheme, modify these HSL values.

Portfolio Data

Edit your personal information, projects, and experience in:

  • src/data/portofolio.data.ts

Components

All UI components are located in:

  • src/components/ui/ - Shadcn Vue components
  • src/components/sections/ - Page sections
  • src/components/layout/ - Layout components

πŸ“ Available Scripts

Command Description
npm run dev Start development server
npm run build Build for production
npm run preview Preview production build
npm run type-check Run TypeScript type checking
npm run lint Lint code with ESLint
npm run format Format code with Prettier

πŸ§ͺ Testing

npm run test:unit

Unit tests are powered by Vitest.

🌐 Browser Support

  • Chrome (latest)
  • Firefox (latest)
  • Safari (latest)
  • Edge (latest)

πŸ“¦ Recommended IDE Setup

Browser Extensions

Chromium-based browsers (Chrome, Edge, Brave):

Firefox:

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ‘€ Author

Oxa Defrizal Khasay

πŸ™ Acknowledgments

🀝 Contributing

Contributions, issues, and feature requests are welcome!

  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

⭐ Don't forget to star this repo if you found it helpful!

About

A modern, responsive portfolio website built with Vue 3, TypeScript, and Tailwind CSS. Features a clean design with emerald/green color scheme and smooth animations.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published