Skip to content

eshanized portfolio showcasing web development projects, skills, and experiences. Built with React, Tailwind and TypeScript for a responsive design.

Notifications You must be signed in to change notification settings

eshanized/eshanized.github.io

Repository files navigation

Eshanized Web Portfolio πŸš€

Next.js TypeScript Tailwind CSS Framer Motion GitHub Pages License

An elegant and interactive portfolio website featuring OneUI-style design, built with modern web technologies.

🌟 Features

  • πŸ“± OneUI-inspired design and interactions
  • πŸŒ“ Dark/Light mode with system preference sync
  • πŸ“Š Interactive app-like components
  • 🎨 Beautiful animations and transitions
  • πŸ“± Fully responsive design
  • ⚑ Optimized performance
  • πŸ”’ TypeScript for type safety
  • 🎯 SEO optimized

πŸ› οΈ Tech Stack

Core Technologies

  • Framework: Next.js 14 with App Router
  • Language: TypeScript
  • Styling: Tailwind CSS
  • Animations: Framer Motion
  • UI Components: Shadcn UI
  • State Management: React Context
  • Icons: Lucide Icons
  • Deployment: GitHub Pages

Key Features Implementation

  • Theme Management: next-themes
  • Code Formatting: Prettier
  • Linting: ESLint
  • Git Hooks: Husky
  • Package Management: npm

πŸš€ Getting Started

Prerequisites

  • Node.js (v18.0.0 or higher)
  • npm (v8.0.0 or higher)

Installation

  1. Clone the repository:
git clone https://github.com/eshanized/eshanized_web.git
cd eshanized_web
  1. Install dependencies:
npm install
  1. Start the development server:
npm run dev
  1. Open http://localhost:3000 in your browser.

Production Build

# Create optimized production build
npm run build

# Start production server
npm start

πŸ“ Project Structure

eshanized_web/
β”œβ”€β”€ app/                   # Next.js app directory
β”‚   β”œβ”€β”€ layout.tsx        # Root layout
β”‚   └── page.tsx          # Home page
β”œβ”€β”€ components/           # React components
β”‚   β”œβ”€β”€ oneui/            # OneUI-style components
β”‚   β”‚   β”œβ”€β”€ apps/         # Individual app components (Settings, Camera, etc.)
β”‚   β”‚   └── OneUILayout.tsx # Main layout for OneUI
β”‚   β”œβ”€β”€ macos/           # macOS-style components
β”‚   β”œβ”€β”€ ui/              # Shared UI components
β”‚   └── providers/       # Context providers
β”œβ”€β”€ lib/                 # Utility functions
β”œβ”€β”€ public/              # Static assets
β”œβ”€β”€ styles/             # Global styles
└── types/              # TypeScript types

🎨 Design System

OneUI Design Implementation

  • Custom OneUI-style components
  • System-native animations
  • Authentic OneUI interactions
  • Dark mode support
  • Blur effects
  • OneUI typography

Component Categories

  1. Navigation Components

    • OneUI-style headers
    • Tab bars
    • Navigation bars
  2. Interactive Elements

    • Buttons
    • Switches
    • Form inputs
    • Cards
  3. Layout Components

    • Grid systems
    • Lists
    • Containers

πŸ“± Apps Implementation

Built-in Applications

  1. Settings App

    • Theme management
    • System preferences
    • User profile
  2. Social Apps

    • Twitter integration
    • Facebook features
    • Instagram components
    • Dev.to articles
  3. Utility Apps

    • Clock with multiple features
    • Calculator
    • Weather information

πŸ”„ State Management

  • Context API for global state
  • Theme context for appearance
  • Navigation state management
  • App-specific state handling

πŸš€ Deployment

GitHub Pages Deployment

  1. Automatic Deployment

    npm run deploy

    This will:

    • Build the project
    • Push to gh-pages branch
    • Update the live site
  2. Manual Deployment

    ./deploy.sh

Custom Domain Setup

πŸ”§ Configuration

Environment Variables

Create a .env.local file:

NEXT_PUBLIC_GITHUB_USERNAME=your_username
NEXT_PUBLIC_SITE_URL=your_site_url

Next.js Configuration

// next.config.js
module.exports = {
  images: {
    domains: ['github.com'],
  },
  // ... other config
}

🀝 Contributing

  1. Fork the repository
  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

πŸ“ License

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

πŸ™ Acknowledgments

πŸ“ž Contact

Eshan Roy - @eshanized

Project Link: https://github.com/eshanized/eshanized_web


Made with ❀️ by Eshan Roy

About

eshanized portfolio showcasing web development projects, skills, and experiences. Built with React, Tailwind and TypeScript for a responsive design.

Resources

Stars

Watchers

Forks

Contributors 2

  •  
  •  

Languages