A modern, responsive personal portfolio website built with Angular and deployed on Firebase.
Visit: https://mannan-javid.web.app
- Framework: Angular 20+
- Language: TypeScript 4.9.4
- Styling: SCSS
- Hosting: Firebase
- Testing: Karma & Jasmine
- Code Quality: ESLint & Prettier
# Clone the repository
git clone https://github.com/yourusername/mannan.git
# Navigate to project directory
cd mannan
# Install dependencies
npm install
# Start development server
npm startNavigate to http://localhost:4200/ to view the application.
src/
├── app/
│ ├── components/
│ │ ├── about/ # About section
│ │ ├── contact/ # Contact information
│ │ ├── header/ # Navigation header
│ │ ├── home/ # Landing page
│ │ └── resume/ # Resume/CV section
│ ├── forms/ # Form utilities
│ └── app.module.ts # Root module
├── assets/ # Static assets
└── styles.scss # Global styles
| Command | Description |
|---|---|
npm start |
Start development server on port 4200 |
npm run build |
Build for production |
npm run watch |
Build in watch mode |
npm test |
Run unit tests with Karma |
ng generate component [name] |
Generate new component |
# Build the project
npm run build
# Deploy to Firebase
ng deployYour site will be live at: https://mannan-javid.web.app
GitHub Pages:
ng add angular-cli-ghpages
ng deploy --base-href=/mannan/Netlify:
- Run
npm run build - Drag
dist/mannanfolder to Netlify Drop
Vercel:
npm i -g vercel
npm run build
vercel --prod# Run unit tests
npm test
# Run tests in headless mode
ng test --browsers=ChromeHeadless --watch=falseThe project uses ESLint and Prettier for code consistency:
# Check linting
ng lint
# Format code with Prettier
npx prettier --write .- Max line length: 120 characters
- Component prefix:
app- - Style: SCSS with component encapsulation
- Quote style: Single quotes
# Generate a new component
ng generate component components/[name]
# Generate a service
ng generate service services/[name]
# Generate other artifacts
ng generate directive|pipe|class|guard|interface|enum|moduleProduction Build:
- Optimized bundles
- Tree shaking
- Ahead-of-Time (AOT) compilation
- Build budget warnings (500kb initial, 1mb max)
This project is private and proprietary.
This is a personal project. Pull requests are not accepted.
For any inquiries, please reach out through the contact form on the website.
Built with Angular CLI version 15.2.6