Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Project Portfolio by Joyce Kuo #392

Open
wants to merge 43 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 32 commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
f2fbd95
Set up Vite and initial project structure
JoyceKuode Oct 31, 2024
f66db0c
Create basic structure for main content
JoyceKuode Oct 31, 2024
6595a65
Make changes to App.css
JoyceKuode Oct 31, 2024
3b3bea5
Add styling to Grid and HeaderSection
JoyceKuode Nov 1, 2024
4584555
Add ImageSection with styling
JoyceKuode Nov 1, 2024
2b50d40
Adjust spacing in header
JoyceKuode Nov 1, 2024
450dc93
Add text to README
JoyceKuode Nov 2, 2024
6325dd3
Add content and style BioSection
JoyceKuode Nov 2, 2024
6128d72
Set up ProjectSection and data mapping
JoyceKuode Nov 2, 2024
ce1473f
Add default styling for project cards, tags, and buttons
JoyceKuode Nov 2, 2024
7a4cae5
Fix typo in card component
JoyceKuode Nov 2, 2024
47f014d
Add responsive design to project sections for tablet and desktop
JoyceKuode Nov 2, 2024
3ebbd86
Add tech section and styling
JoyceKuode Nov 2, 2024
2b563a2
Add arrow button component
JoyceKuode Nov 2, 2024
38bb340
Add reverse layout to alternating cards in project section on larger …
JoyceKuode Nov 2, 2024
7e128b1
Add skill section with skill card component and styling
JoyceKuode Nov 2, 2024
d165e11
Edit skills section for closer match to design
JoyceKuode Nov 2, 2024
b493104
Add article placeholder data and start design for article section
JoyceKuode Nov 2, 2024
9f93d50
Replace placeholder images
JoyceKuode Nov 2, 2024
d538453
Change images in project data
JoyceKuode Nov 3, 2024
f4afb6c
Add logic to invert color on button and icon based on section backgro…
JoyceKuode Nov 3, 2024
9059263
Complete article section styling for mobile
JoyceKuode Nov 3, 2024
32c128b
Add article section styling for desktop
JoyceKuode Nov 3, 2024
41b8b9b
Fix height issue on tablet view of article section
JoyceKuode Nov 3, 2024
af2558b
Add contact section with styling and social media component
JoyceKuode Nov 3, 2024
676195a
Add hover effects to social icons and edit data in json files
JoyceKuode Nov 3, 2024
9b17418
Edit README file
JoyceKuode Nov 3, 2024
761e87e
Clean up files and organize imports
JoyceKuode Nov 3, 2024
9786293
Edit skills data
JoyceKuode Nov 3, 2024
a68657f
Update bio section with new bio
JoyceKuode Nov 3, 2024
c08468f
Fix button height and top margin
JoyceKuode Nov 7, 2024
63216d7
Fix arrow button styling
JoyceKuode Nov 7, 2024
248fe23
Adjust padding in contact section
JoyceKuode Nov 7, 2024
220b499
Fix spacing and styling for tablet
JoyceKuode Nov 8, 2024
9239b82
Fix spacing on some elements to match design
JoyceKuode Nov 11, 2024
6328774
Remove node_modules from Git tracking
JoyceKuode Nov 11, 2024
ea42c45
Delete nested folder and fix layout issues
JoyceKuode Nov 11, 2024
3c5356f
Create functionality for See More buttons and add data
JoyceKuode Nov 11, 2024
f634d8d
Update images path and fix overflow issue
JoyceKuode Nov 11, 2024
7ee6155
Change some data including images and adjust line heights
JoyceKuode Nov 12, 2024
47e149e
Change line height to fix vertical scroll issue
JoyceKuode Nov 14, 2024
201152f
Fix vertical scrolling issue
JoyceKuode Nov 15, 2024
5bfa301
Edit skills
JoyceKuode Nov 17, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 10 additions & 36 deletions README.md
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I really appreciated seeing a README file with your own thoughts on the project, such as planning, problem-solving, and explaining your approach. Great work!

Original file line number Diff line number Diff line change
Expand Up @@ -4,47 +4,21 @@
</a>
</h1>

# Technigo - React Portfolio Project
# Joyce Kuo - React Portfolio Project

Congratulations on completing Sprint 2 of the boot camp! For the final phase, we will now take your skills in React to the next level by building your very own portfolio website using the concepts learned in class
In this project, I use React to build a portfolio website with a responsive Figma design to follow.

## Instructions
[Check this projects instructions here](https://github.com/Technigo/project-portfolio/blob/main/instructions.md)
## The Process

## Set up your own version of your portfolio
Throughout the development of this project, I adopted a component-driven approach. I began by outlining the overall structure and making sure I knew how all the elements were related.

We will use [Vite](https://vitejs.dev/guide/) to setup our project 😉
As I created each component, I focused on maintaining the design and referring back to Figma frequently, and paying special attention to responsive layouts. All of my section files had a corresponding CSS file so that I could apply styling unique to each section. Incorporating data from JSON files made it easy to update and edit data without disrupting the design.

```bash
npm create vite@latest my-react-portfolio --template
```
I stumbled on some design issues. For instance, manipulating the images in the hero section so that they were layered correctly and looked good in all layouts was especially tricky. I used mostly rubber ducking, trial and error, and ChatGPT to help me resolve design issues.

#### Follow this GIF to setup your project
## Next Steps

![Alt Text](https://res.cloudinary.com/dfkxydgqg/image/upload/v1691073155/WEB/Sprint-2/week-8/vite-react_vjp0ep.gif)
I would love to tackle some of the stretch goals, like adding a favicon and creating a custom domain name. I would also create functionality for the "See more projects" button to display more than 4 projects. Creating placeholder articles also got me inspired to write the articles for real 😅

## Installation

Use the `cd` command to move into the folder

```bash
cd my-react-portfolio
```

Install the dependencies

```bash
npm i
```

Open the project in a separate VS Code editor

```bash
code .
```

Open up a terminal inside VS code and lets run the project in a local environment

```bash
npm run dev
```
## View it Live
https://joyce-kuo-portfolio.netlify.app/
25 changes: 25 additions & 0 deletions articles.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
{
"articles": [
{
"title": "How to stop being scared: Learning to love code",
"description": "Uncover the path to transforming fear of coding into a profound appreciation for the process and learn to embrace challenges and celebrate small victories along the way.",
"image": "https://images.unsplash.com/photo-1557672172-298e090bd0f1?q=80&w=1374&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D",
"date": "July 20th",
JoyceKuode marked this conversation as resolved.
Show resolved Hide resolved
"link": "link"
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Replace placeholder links with actual article URLs.

All articles currently use "link" as a placeholder. Please update with actual URLs to ensure proper navigation.

Also applies to: 15-15, 22-22

},
{
"title": "Harmonizing skills: Bridging the gap between music and programming",
"description": "My observations on the fascinating parallels between studying music and learning to code, revealing how both disciplines nurture creativity, discipline, and problem-solving skills while encouraging self-expression through structured frameworks.",
"image": "https://images.unsplash.com/photo-1561212044-bac5ef688a07?q=80&w=1374&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D",
"date": "January 2nd",
"link": "link"
},
{
"title": "Every day is a school day: Making growth mindset a daily habit",
"description": "Learn how embracing a growth mindset transforms the learning process into an exciting pursuit, igniting the dopamine rush that comes with overcoming obstacles and exploring new skills.",
"image": "https://images.unsplash.com/photo-1564089957880-517edea1afc5?q=80&w=1374&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D",
"date": "June 11th",
"link": "link"
}
]
}
24 changes: 24 additions & 0 deletions my-react-portfolio/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*

node_modules
dist
dist-ssr
*.local

# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
8 changes: 8 additions & 0 deletions my-react-portfolio/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# React + Vite

This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.

Currently, two official plugins are available:

- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh
- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh
39 changes: 39 additions & 0 deletions my-react-portfolio/eslint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
import js from '@eslint/js'
import globals from 'globals'
import react from 'eslint-plugin-react'
import reactHooks from 'eslint-plugin-react-hooks'
import reactRefresh from 'eslint-plugin-react-refresh'

export default [
{ ignores: ['dist'] },
{
files: ['**/*.{js,jsx}'],
languageOptions: {
ecmaVersion: 2020,
globals: globals.browser,
parserOptions: {
ecmaVersion: 'latest',
ecmaFeatures: { jsx: true },
sourceType: 'module',
},
},
settings: { react: { version: '18.3' } },
plugins: {
react,
'react-hooks': reactHooks,
'react-refresh': reactRefresh,
},
rules: {
...js.configs.recommended.rules,
...react.configs.recommended.rules,
...react.configs['jsx-runtime'].rules,
...reactHooks.configs.recommended.rules,
'react/jsx-no-target-blank': 'off',
'react-refresh/only-export-components': [
'warn',
{ allowConstantExport: true },
],
"react/prop-types": "off"
},
},
]
16 changes: 16 additions & 0 deletions my-react-portfolio/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<!doctype html>
<html lang="en">

<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Joyce Kuo Portfolio</title>
</head>

<body>
<div id="root"></div>
<script type="module" src="/src/main.jsx"></script>
</body>

</html>
Loading