Skip to content

Commit 19be1f5

Browse files
authored
Create README.md
1 parent f5cc730 commit 19be1f5

1 file changed

Lines changed: 238 additions & 0 deletions

File tree

README.md

Lines changed: 238 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,238 @@
1+
# Portfolio Website - Patrick Araujo (PkLavc)
2+
3+
## Overview
4+
5+
This repository contains a static portfolio website for Patrick Araujo, focused on solutions architecture, systems engineering, API integration, automation, and data pipelines. The website is built using HTML, CSS and JavaScript and includes modern SEO improvements, structured data, and social sharing metadata.
6+
7+
The site includes three main pages:
8+
9+
- `index.html` — homepage with profile, skills and contact links
10+
- `about.html` — detailed profile, professional history, clients and certifications
11+
- `projects.html` — portfolio showcase of backend and integration projects
12+
13+
Additional files:
14+
15+
- `robots.txt` — indexation policy
16+
- `sitemap.xml` — crawlable site map
17+
- `css/` — stylesheet collection
18+
- `js/` — frontend script assets
19+
- `images/` — visual and icon assets
20+
21+
---
22+
23+
## Technology Stack
24+
25+
### Core Web Technologies
26+
27+
- **HTML5** — semantic page structure
28+
- **CSS3** — responsive layout, color theme, and visual styling
29+
- **JavaScript** — dynamic interactions, page behavior, and animations
30+
31+
### Libraries and frameworks
32+
33+
- **GSAP** — animation library loaded from CDN for motion effects
34+
- **particles.js** — particle background animation engine
35+
- **jQuery** — legacy DOM helper for existing page scripts
36+
37+
### SEO and Metadata
38+
39+
- **Open Graph** tags for rich social sharing
40+
- **Twitter Card** metadata for Twitter previews
41+
- **Canonical links** to avoid duplicate content issues
42+
- **Schema.org JSON-LD** profile and page structured data
43+
- **robots** index/follow instructions
44+
- **Sitemap** configuration for search engines
45+
46+
---
47+
48+
## Page Structure and Purpose
49+
50+
### `index.html`
51+
52+
- Serves as the main landing page for a solutions and integration architect
53+
- Contains a visible `<h1>` with the name, followed by descriptive `<h2>` content
54+
- Implements particle background animation using `particles.js`
55+
- Uses social media icons with descriptive `alt` text
56+
- Includes a hidden `visually-hidden` SEO paragraph for technical keyword reinforcement
57+
- Contains multiple JSON-LD blocks to represent profile and page schema
58+
59+
### `about.html`
60+
61+
- Provides the candidate’s professional profile, certifications, and company affiliations
62+
- Uses detailed Open Graph and Twitter metadata
63+
- Includes client logos and project references with proper `alt` descriptions
64+
- Maintains a hidden `h1` plus visible `h2` for SEO semantics without altering layout
65+
- Includes a hidden `visually-hidden` paragraph for architecture and enterprise keywords
66+
67+
### `projects.html`
68+
69+
- Displays a portfolio of backend, API integration, automation, and data pipeline work
70+
- Uses `CollectionPage` JSON-LD with individual `CreativeWork` items defined in structured data
71+
- Includes Open Graph and Twitter metadata tuned for project discovery
72+
- Contains a hidden `h1` and visible `h2` heading for SEO semantics without visual change
73+
- Includes a hidden semantic footer paragraph for robots
74+
75+
---
76+
77+
## File Structure
78+
79+
```text
80+
Downloads/
81+
├── about.html
82+
├── index.html
83+
├── projects.html
84+
├── robots.txt
85+
├── sitemap.xml
86+
├── css/
87+
│ ├── about.css
88+
│ ├── color-blue.css
89+
│ ├── global.css
90+
│ ├── index.css
91+
│ └── projects.css
92+
├── js/
93+
│ ├── index.js
94+
│ ├── jquery.min.js
95+
│ ├── particles.js
96+
│ └── particles.min.js
97+
├── images/
98+
├── README.md
99+
└── LICENSE.txt
100+
```
101+
102+
---
103+
104+
## SEO Architecture
105+
106+
### Metadata and social sharing
107+
108+
- `meta name="description"` — supports search engine snippets
109+
- `meta property="og:title"` — controls Facebook and LinkedIn shared title
110+
- `meta property="og:description"` — supports enterprise and systems architecture messaging
111+
- `meta property="og:image"` — profile image for social cards
112+
- `meta name="twitter:card"` — summary_large_image for rich Twitter previews
113+
- `meta property="og:image:alt"` and `meta name="twitter:image:alt"` — accessible image descriptions
114+
- `canonical` — resolves the preferred URL
115+
116+
### Structured Data
117+
118+
Implemented JSON-LD schema types:
119+
120+
- `ProfilePage` for `index.html`
121+
- `AboutPage` for `about.html`
122+
- `CollectionPage` for `projects.html`
123+
- `Person` profile metadata inside page schemas
124+
- `CreativeWork` items for featured projects
125+
126+
### Robots and Sitemap
127+
128+
- `robots.txt` currently allows indexing for all crawlers and points to the sitemap
129+
- `sitemap.xml` includes all published pages with `lastmod`, `changefreq`, and `priority`
130+
131+
---
132+
133+
## Accessibility and Semantic Enhancements
134+
135+
- `alt` attributes applied to all `<img>` tags with descriptive phrases
136+
- `aria-label` used on key profile and contact elements
137+
- hidden `div.visually-hidden` paragraphs added for technical semantics using clipping instead of `display:none`
138+
- visible page headings preserved while adding hidden `h1` for SEO semantics on secondary pages
139+
140+
---
141+
142+
## Performance and Script Loading
143+
144+
### Script loading strategy
145+
146+
- `jquery.min.js` loaded with `defer` to avoid render-blocking
147+
- `particles.min.js` intentionally loaded without `defer` for inline `particlesJS(...)` initialization compatibility
148+
- `index.js` loaded with `defer`
149+
- `gsap.min.js` loaded from CDN with `defer`
150+
151+
### Observations
152+
153+
- The particle background depends on `particles.min.js`, so correct load order is essential
154+
- Hidden SEO text is added without affecting visible layout
155+
- The site uses client-side animations and progressive enhancement
156+
157+
---
158+
159+
## Visual / Interaction Design
160+
161+
The design uses:
162+
163+
- a dark theme with blue accent colors from `color-blue.css`
164+
- particle animation in the hero section
165+
- social media icon links for GitHub, LinkedIn, and email
166+
- skill badges and technology icons in the core profile panel
167+
- slide carousels and logo grids on the about page
168+
169+
---
170+
171+
## Mermaid Diagrams
172+
173+
### Site structure
174+
175+
```mermaid
176+
flowchart TB
177+
A[index.html]
178+
B[about.html]
179+
C[projects.html]
180+
A -->|profile| B
181+
A -->|portfolio| C
182+
A -->|shared assets| css/
183+
A -->|shared assets| js/
184+
A -->|meta data| robots.txt
185+
A -->|meta data| sitemap.xml
186+
```
187+
188+
### SEO data flow
189+
190+
```mermaid
191+
flowchart LR
192+
SearchEngine[Search Engine]
193+
Page[HTML Pages]
194+
Meta[Open Graph + Twitter]
195+
JSONLD[Structured Data]
196+
Robots[robots.txt / sitemap.xml]
197+
Alt[Alt Text]
198+
Hidden[Hidden Keyword Block]
199+
200+
Page --> Meta
201+
Page --> JSONLD
202+
Page --> Alt
203+
Page --> Hidden
204+
Page --> Robots
205+
SearchEngine --> Page
206+
SearchEngine --> Robots
207+
```
208+
209+
---
210+
211+
## References and Resources
212+
213+
### Technology references
214+
215+
- [HTML5](https://developer.mozilla.org/docs/Web/Guide/HTML/HTML5)
216+
- [CSS3](https://developer.mozilla.org/docs/Web/CSS)
217+
- [JavaScript](https://developer.mozilla.org/docs/Web/JavaScript)
218+
- [GSAP](https://greensock.com/gsap/)
219+
- [particles.js](https://vincentgarreau.com/particles.js/)
220+
- [jQuery](https://jquery.com/)
221+
- [Schema.org JSON-LD](https://schema.org/docs/gs.html)
222+
- [Open Graph protocol](https://ogp.me/)
223+
- [Twitter Cards](https://developer.twitter.com/en/docs/twitter-for-websites/cards/overview/abouts-cards)
224+
225+
### SEO best practices used
226+
227+
- remove obsolete `meta keywords`
228+
- include `canonical` links
229+
- use `robots` and `sitemap`
230+
- apply accessible image descriptions
231+
- add structured data for profile and project pages
232+
- use page-specific social metadata descriptions
233+
234+
---
235+
236+
## Notes
237+
238+
This README is designed to document the current portfolio site state and provide a full technical overview. If you want, I can also create a smaller `README` for GitHub deployment or a project-specific `README` for developers.

0 commit comments

Comments
 (0)