Skip to content

Commit 1f75634

Browse files
committed
Updated the personal portfolio.
1 parent 2deab81 commit 1f75634

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

51 files changed

+1545
-11911
lines changed

.eslintignore

Lines changed: 0 additions & 1 deletion
This file was deleted.

.eslintrc.json

Lines changed: 0 additions & 31 deletions
This file was deleted.

.github/workflows/main.yml

Lines changed: 14 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -9,36 +9,30 @@ jobs:
99
build-deploy:
1010
runs-on: ubuntu-latest
1111
steps:
12-
- uses: actions/checkout@v2
12+
- uses: actions/checkout@v4
1313
- name: Set up Node.js
14-
uses: actions/setup-node@v1
14+
uses: actions/setup-node@v4
1515
with:
16-
node-version: '18.x'
16+
node-version: '24.x'
1717

18-
- name: Install dependencies
19-
run: yarn install
18+
- name: Install pnpm
19+
uses: pnpm/action-setup@v4
20+
with:
21+
version: 8
2022

21-
- name: Run ESLint
22-
run: npx eslint .
23-
--config .eslintrc.json
24-
--ext .js,.jsx,.ts,.tsx
25-
--format @microsoft/eslint-formatter-sarif
26-
--output-file eslint-results.sarif
27-
continue-on-error: true
23+
- name: Install dependencies
24+
run: pnpm install
2825

29-
- name: Upload analysis results to GitHub
30-
uses: github/codeql-action/upload-sarif@v2
31-
with:
32-
sarif_file: eslint-results.sarif
33-
wait-for-processing: true
26+
- name: Run Biome check
27+
run: pnpm check
3428

3529
- name: Build the website
36-
run: yarn build
30+
run: pnpm build
3731

3832
- name: Deploy to GitHub Pages
39-
uses: peaceiris/actions-gh-pages@v3
33+
uses: peaceiris/actions-gh-pages@v4
4034
with:
4135
github_token: ${{ secrets.GITHUB_TOKEN }}
42-
publish_dir: ./build
36+
publish_dir: ./dist
4337
cname: gopalsaini.co.in
4438
commit_message: "Deploy to my custom domain: ${{ github.sha }}"

.gitignore

Lines changed: 20 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,24 @@
1-
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2-
3-
# dependencies
4-
/node_modules
5-
/.pnp
6-
.pnp.js
7-
8-
# testing
9-
/coverage
10-
11-
# production
12-
/build
13-
14-
# misc
15-
.DS_Store
16-
.env.local
17-
.env.development.local
18-
.env.test.local
19-
.env.production.local
20-
1+
# Logs
2+
logs
3+
*.log
214
npm-debug.log*
225
yarn-debug.log*
236
yarn-error.log*
24-
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
25-
26-
# dependencies
27-
/node_modules
28-
/.pnp
29-
.pnp.js
30-
31-
# testing
32-
/coverage
33-
34-
# production
35-
/build
36-
37-
# misc
7+
pnpm-debug.log*
8+
lerna-debug.log*
9+
10+
node_modules
11+
dist
12+
dist-ssr
13+
*.local
14+
15+
# Editor directories and files
16+
.vscode/*
17+
!.vscode/extensions.json
18+
.idea
3819
.DS_Store
39-
.env.local
40-
.env.development.local
41-
.env.test.local
42-
.env.production.local
43-
44-
npm-debug.log*
45-
yarn-debug.log*
46-
yarn-error.log*
20+
*.suo
21+
*.ntvs*
22+
*.njsproj
23+
*.sln
24+
*.sw?

README.md

Lines changed: 131 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,151 @@
1-
[![GitHub Pages](https://github.com/gsaini/gsaini.github.io/actions/workflows/main.yml/badge.svg)](https://github.com/gsaini/gsaini.github.io/actions/workflows/main.yml)
1+
# Gopal Saini - Personal Portfolio
22

3-
This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).
3+
I'm a **Full Stack Architect** and **AI/ML Engineer** with 15+ years of experience in building scalable web applications and intelligent systems. Currently engineering AI-driven solutions at Goldman Sachs.
44

5-
## Available Scripts
5+
## 🎓 Education
66

7-
In the project directory, you can run:
7+
- **Post Graduate in AI & ML** - Comprehensive program covering machine learning, deep learning, NLP, and computer vision
8+
- 15+ years of hands-on experience in enterprise software development
89

9-
### `yarn start`
10+
## 🚀 Core Expertise
1011

11-
Runs the app in the development mode.<br />
12-
Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
12+
- **Frontend**: React, TypeScript, Next.js, Modern CSS
13+
- **Backend**: Node.js, Python, Enterprise APIs
14+
- **Cloud**: AWS, Google Cloud Platform, Azure
15+
- **AI/ML**: TensorFlow, PyTorch, Scikit-learn, Computer Vision, NLP
16+
- **DevOps**: Docker, Kubernetes, CI/CD Pipelines
1317

14-
The page will reload if you make edits.<br />
15-
You will also see any lint errors in the console.
18+
## 🛠️ Tech Stack
1619

17-
### `yarn test`
20+
This portfolio is built with modern web technologies:
1821

19-
Launches the test runner in the interactive watch mode.<br />
20-
See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information.
22+
- **Build Tool**: Vite (Rolldown)
23+
- **Styling**: Vanilla CSS with CSS Custom Properties
24+
- **JavaScript**: ES6+ Vanilla JavaScript
25+
- **Linting**: Biome
26+
- **Package Manager**: pnpm
27+
- **Deployment**: GitHub Pages with GitHub Actions
28+
- **Domain**: Custom domain (gopalsaini.co.in)
2129

22-
### `yarn build`
30+
## 📁 Project Structure
2331

24-
Builds the app for production to the `build` folder.<br />
25-
It correctly bundles React in production mode and optimizes the build for the best performance.
32+
```
33+
gsaini.github.io/
34+
├── .github/
35+
│ └── workflows/
36+
│ └── main.yml # GitHub Actions deployment
37+
├── public/
38+
│ └── index.html # Main HTML file
39+
├── src/
40+
│ ├── styles.css # All CSS styles
41+
│ └── script.js # JavaScript functionality
42+
├── biome.json # Biome configuration
43+
├── vite.config.js # Vite configuration
44+
├── package.json # Dependencies and scripts
45+
└── README.md # This file
46+
```
2647

27-
The build is minified and the filenames include the hashes.<br />
28-
Your app is ready to be deployed!
48+
## 🚀 Getting Started
2949

30-
See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information.
50+
### Prerequisites
3151

32-
### `yarn eject`
52+
- Node.js 24.x or higher
53+
- pnpm (recommended) or npm
3354

34-
**Note: this is a one-way operation. Once you `eject`, you can’t go back!**
55+
### Installation
3556

36-
If you aren’t satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project.
57+
1. **Clone the repository**
3758

38-
Instead, it will copy all the configuration files and the transitive dependencies (Webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own.
59+
```bash
60+
git clone https://github.com/gsaini/gsaini.github.io.git
61+
cd gsaini.github.io
62+
```
3963

40-
You don’t have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it.
64+
2. **Install dependencies**
4165

42-
## Learn More
66+
```bash
67+
pnpm install
68+
```
4369

44-
You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started).
70+
3. **Start development server**
4571

46-
To learn React, check out the [React documentation](https://reactjs.org/).
72+
```bash
73+
pnpm dev
74+
```
75+
76+
4. **Open in browser**
77+
78+
```
79+
http://localhost:5173
80+
```
81+
82+
## 📜 Available Scripts
83+
84+
| Script | Description |
85+
|--------|-------------|
86+
| `pnpm dev` | Start development server |
87+
| `pnpm build` | Build for production |
88+
| `pnpm preview` | Preview production build |
89+
| `pnpm lint` | Run Biome linter |
90+
| `pnpm lint:fix` | Fix linting issues |
91+
| `pnpm format` | Format code with Biome |
92+
| `pnpm check` | Run linting and formatting checks |
93+
94+
## 🚀 Deployment
95+
96+
The site is automatically deployed to GitHub Pages using GitHub Actions when changes are pushed to the `source` branch.
97+
98+
### Deployment Process
99+
100+
1. Code is linted and formatted using Biome
101+
2. Site is built using Vite
102+
3. Built files are deployed to GitHub Pages
103+
4. Custom domain (gopalsaini.co.in) is configured
104+
105+
### Manual Deployment
106+
107+
```bash
108+
pnpm build
109+
# Deploy the dist/ folder to your hosting provider
110+
```
111+
112+
## 🎨 Features
113+
114+
- **Responsive Design**: Mobile-first approach with modern CSS Grid and Flexbox
115+
- **Performance Optimized**: Fast loading with optimized assets
116+
- **SEO Friendly**: Proper meta tags, structured data, and semantic HTML
117+
- **Accessibility**: WCAG compliant with proper ARIA labels
118+
- **Modern Animations**: Smooth CSS animations and transitions
119+
- **Dark Theme**: Elegant dark color scheme with neon accents
120+
121+
## 🔧 Development
122+
123+
### Code Quality
124+
125+
- **Biome**: Used for linting and formatting
126+
- **Modern CSS**: CSS Custom Properties, Grid, Flexbox
127+
- **Semantic HTML**: Proper HTML5 structure
128+
- **Performance**: Optimized images and minimal JavaScript
129+
130+
### Browser Support
131+
132+
- Chrome (latest)
133+
- Firefox (latest)
134+
- Safari (latest)
135+
- Edge (latest)
136+
137+
## 📞 Contact
138+
139+
- **Email**: [gopal.saini.work@gmail.com](mailto:gopal.saini.work@gmail.com)
140+
- **Phone**: [+1 551 200 4845](tel:+15512004845)
141+
- **LinkedIn**: [linkedin.com/in/gopal-saini](https://www.linkedin.com/in/gopal-saini)
142+
- **GitHub**: [github.com/gsaini](https://github.com/gsaini)
143+
- **Credly**: [credly.com/users/gsaini/badges](https://www.credly.com/users/gsaini/badges)
144+
145+
## 📄 License
146+
147+
This project is open source and available under the [MIT License](LICENSE).
148+
149+
---
150+
151+
**Built with ❤️ by Gopal Saini**

biome.json

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
{
2+
"$schema": "https://biomejs.dev/schemas/1.9.4/schema.json",
3+
"vcs": {
4+
"enabled": true,
5+
"clientKind": "git",
6+
"useIgnoreFile": true
7+
},
8+
"files": {
9+
"ignoreUnknown": false,
10+
"ignore": ["node_modules/**", "dist/**", "build/**"]
11+
},
12+
"formatter": {
13+
"enabled": true,
14+
"indentStyle": "space",
15+
"indentWidth": 2,
16+
"lineWidth": 100
17+
},
18+
"linter": {
19+
"enabled": true,
20+
"rules": {
21+
"recommended": true
22+
}
23+
},
24+
"javascript": {
25+
"formatter": {
26+
"quoteStyle": "single",
27+
"semicolons": "always"
28+
}
29+
}
30+
}

0 commit comments

Comments
 (0)