👋 Hi, my name is Terris and this is my portfolio website repository.
Visit the website at: https://terris-portfolio.vercel.app/
And documentation here: https://terristwj.github.io/Portfolio/
This portfolio site was created using Next.js, and others.
| Next.js | Frontend | Backend |
|---|---|---|
| TailwindCSS | Styling | |
| Framer Motion | Animations | Transitions |
| Vercel | Cloud Hosting | Website Provider |
| Vercel Postgres DB | Cloud Database | Database Provider |
| UI Components | ||
|---|---|---|
| React headlessUI | UI Library | Transitions |
| Framer Motion | ||
| @motionone/utils | Framer Motion | Utility |
| Icons | ||
| Hero Icons | Tailwind Icons | Hamburger Icon |
| React SVG Icons | React Icons | Social Media Icons |
| Fonts | ||
| Google Fonts | Fonts Library | |
| react-simple-typewriter | Typewriter Effect | |
| Guestbook Page | ||
| random-animal-name | Name generation | Used With Cookies |
| bad-words | Filter Flagged Words | First Filter Layer |
| OpenAI API | AI Sentimental Filter | Second Filter Layer |
| random-number | Random Number | Min/Max Integer/Float |
| Lorem Picsum | Random Images | URL API |
| Axios | API Connector | API Handler |
| Vercel Dependencies | ||
| Vercel Web Analytics | Web Analytics | Visitors Count |
| Vercel Speed Insights | Web Performance | Countries Performance |
| Vercel Postgres Database | Postgres Database | Cloud Database |
In this project,
-
Ensure a Vercel Postgres Database (V-PG-DB) is created
-
Add every
POSTGRES_<item>into.envto connect to V-PG-DB -
In Vercel UI Dashboard, use the console commands to debug:
SELECT * FROM messages;SELECT * FROM messages ORDER BY created_at DESC;DELETE FROM messages;- Example
SELECT * FROM messages WHERE username = "Bossy Gnat" and (message !="fishy\\" and message != "omg" and message !="<h1>hey</h1>" and message !="<br/>");
-
In the backend, follow the documentation to use @vercel/postgres
- Speed Insights
npm i @vercel/speed-insights
- Web Analytics
npm i @vercel/analytics
- Postgres Database
npm i @vercel/postgres
In this project,
-
Ensure a OpenAI API account is created and configured
-
Add your
OPENAI_APIKEYinto.env -
In the backend, follow the documentation to use OpenAI API
-
Main Tutorial
-
Portfolio References
-
Additional References
- Hover.dev
- Animated UI Components for React & Tailwind
- Animated tabs
- Hover.dev
-
Technical References
This is a Next.js project bootstrapped with create-next-app.
First, run the development server:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun devOpen http://localhost:3000 with your browser to see the result.
You can start editing the page by modifying app/page.tsx. The page auto-updates as you edit the file.
This project uses next/font to automatically optimize and load Inter, a custom Google Font.
To learn more about Next.js, take a look at the following resources:
- Next.js Documentation - learn about Next.js features and API.
- Learn Next.js - an interactive Next.js tutorial.
You can check out the Next.js GitHub repository - your feedback and contributions are welcome!
The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.
Check out our Next.js deployment documentation for more details.