Files
Jody-Portfolio/README.md
2026-02-18 23:03:52 -06:00

92 lines
1.8 KiB
Markdown

# Jody Holt | Developer Portfolio
This is the source code for my personal portfolio.
Created using React//Tailwind//TypeScript
---
## Overview
This site demonstrates my personality, skills, and presents the tone I provide through all my collaborative/business endeavors.
**STACK**
- SPA with React (functional components, hooks)
- TailwindCSS (custom tokens and theme system)
- Theme Engine (5 themes with automated color adaption per user preference )
- IntersectionObserver (based scroll nav)
- Modular component layout
---
## Project structure
```bash
src/
|-assets/ # Images
|-components/ #Reusable UI components
|-hooks/ #Custom React Hooks
|-styles/ #Tailwind + custom theme CSS
|App.tsx
|index.css
```
---
## Theme System
### within index:
#### 5 unique themes are laid out by:
- color-bg
- color-primary
- color-text
- color-secondary
- color-tertiary
These themes are applied via html[data-theme="x"] and are used across the site for all gradients, tints, accents, etc.
## To run on local client:
```bash
npm i
npm run dev
## Local: http://localhost:5173/ (control + click local host url)
```
## Contact Form Setup
### Frontend env
Create `.env` in the project root:
```bash
VITE_CONTACT_API_URL=/api/contact
VITE_TURNSTILE_SITE_KEY=your_turnstile_site_key
```
### Backend API
The contact backend lives in `contact-api/`.
```bash
cd contact-api
npm i
npm run dev
```
Create `contact-api/.env` from `contact-api/.env.example` and set your real Turnstile + SMTP credentials.
### VPS service files
- systemd unit template: `ops/jody-contact-api.service`
- Nginx reverse proxy snippet: `ops/nginx-contact-api.conf`
## Author
### Jody Holt
### Frontend Developer • Passion Pioneer
#### [GitHub](https://github.com/Ricearoni1245) • [LinkedIn](https://www.linkedin.com/in/jody-holt-9b19b0256)