Skip to content

varararun/varararun.github.io

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

97 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Angular Resume Portfolio

A modern, responsive resume/portfolio website built with Angular and Nx, featuring a terminal-style interface and smooth animations.

πŸš€ Features

  • Terminal Interface: Interactive command-line style navigation
  • Responsive Design: Optimized for all devices
  • Dark/Light Theme: Automatic theme switching
  • Internationalization: Multi-language support (English)
  • PWA Ready: Service worker enabled for offline access
  • SEO Optimized: Meta tags and structured data
  • Fast Loading: Optimized build with lazy loading

πŸ› οΈ Tech Stack

  • Framework: Angular 17
  • Build Tool: Nx
  • Styling: SCSS with custom themes
  • Icons: Font Awesome
  • Animations: AOS (Animate On Scroll)
  • Testing: Jest + Cypress
  • Linting: ESLint
  • Package Manager: pnpm

πŸ“‹ Prerequisites

Before running this project, make sure you have the following installed:

  • Node.js: Version 20.0.0 or higher (or run nvm use in this repo)
  • pnpm: Version 8.0.0 or higher
  • Nx CLI: npm install -g nx

πŸš€ Installation

  1. Clone the repository

    git clone git@github.com:varararun/varararun.github.io.git
    cd varararun.github.io
  2. Install dependencies

    pnpm install
  3. Install Nx CLI globally (if not already installed)

    npm install -g nx

πŸƒ Development

Start Development Server

pnpm start
# or
nx serve

The application will open automatically in your browser at http://localhost:4200/. The app will automatically reload when you make changes to the source files.

Available Scripts

  • pnpm start - Start development server
  • pnpm test - Run unit tests
  • pnpm run lint - Run linting
  • pnpm run e2e - Run end-to-end tests
  • pnpm run build - Build for production
  • pnpm run deploy - Build and deploy to GitHub Pages

πŸ§ͺ Testing

Unit Tests

pnpm test
# or
nx test

End-to-End Tests

pnpm run e2e
# or
nx e2e

πŸ—οΈ Building

Development Build

nx build

Production Build

nx build --configuration=production

The build artifacts will be stored in the dist/ng/ directory.

🚒 Deployment

GitHub Pages Deployment

pnpm run deploy

This command will:

  1. Build the application for production
  2. Copy index.html to 404.html for SPA routing
  3. Deploy to GitHub Pages using gh-pages

Docker Deployment

  1. Build Docker image

    docker build -t ng .
  2. Run container

    docker run -p 4200:4200 ng
  3. Access application Navigate to http://localhost:4200/

πŸ“ Project Structure

src/
β”œβ”€β”€ app/
β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”œβ”€β”€ general/          # Shared components (footer, menu, loader, etc.)
β”‚   β”‚   └── home/             # Home page components
β”‚   β”œβ”€β”€ services/             # Angular services
β”‚   └── app.module.ts         # Main app module
β”œβ”€β”€ assets/
β”‚   β”œβ”€β”€ fonts/                # Custom fonts
β”‚   β”œβ”€β”€ i18n/                 # Translation files
β”‚   β”œβ”€β”€ icons/                # Icon assets
β”‚   └── images/               # Image assets
β”œβ”€β”€ environments/             # Environment configurations
└── styles/                   # Global styles and themes

🌐 Internationalization

The application supports multiple languages. Translation files are located in src/assets/i18n/.

Currently supported languages:

  • English (en)

🎨 Theming

The application includes both dark and light themes that automatically adapt to user preferences. Theme files are located in src/assets/styles/_themes.scss.

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“ Code Quality

This project uses:

  • ESLint for code linting
  • Prettier for code formatting
  • Husky for git hooks
  • Jest for unit testing
  • Cypress for e2e testing

πŸ“„ License

This project is private and not licensed for public use.

πŸ”— Links

πŸ“š Older Versions

About

Personal Website

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors