A modern, responsive resume/portfolio website built with Angular and Nx, featuring a terminal-style interface and smooth animations.
- 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
- 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
Before running this project, make sure you have the following installed:
- Node.js: Version 20.0.0 or higher (or run
nvm usein this repo) - pnpm: Version 8.0.0 or higher
- Nx CLI:
npm install -g nx
-
Clone the repository
git clone git@github.com:varararun/varararun.github.io.git cd varararun.github.io -
Install dependencies
pnpm install
-
Install Nx CLI globally (if not already installed)
npm install -g nx
pnpm start
# or
nx serveThe application will open automatically in your browser at http://localhost:4200/. The app will automatically reload when you make changes to the source files.
pnpm start- Start development serverpnpm test- Run unit testspnpm run lint- Run lintingpnpm run e2e- Run end-to-end testspnpm run build- Build for productionpnpm run deploy- Build and deploy to GitHub Pages
pnpm test
# or
nx testpnpm run e2e
# or
nx e2enx buildnx build --configuration=productionThe build artifacts will be stored in the dist/ng/ directory.
pnpm run deployThis command will:
- Build the application for production
- Copy
index.htmlto404.htmlfor SPA routing - Deploy to GitHub Pages using
gh-pages
-
Build Docker image
docker build -t ng . -
Run container
docker run -p 4200:4200 ng
-
Access application Navigate to
http://localhost:4200/
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
The application supports multiple languages. Translation files are located in src/assets/i18n/.
Currently supported languages:
- English (en)
The application includes both dark and light themes that automatically adapt to user preferences. Theme files are located in src/assets/styles/_themes.scss.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project uses:
- ESLint for code linting
- Prettier for code formatting
- Husky for git hooks
- Jest for unit testing
- Cypress for e2e testing
This project is private and not licensed for public use.
- Live Site: https://avarghese.me
- GitHub: https://github.com/varararun/varararun.github.io