HobbaZ / new-react-portfolio

A web dev portfolio using Github API, react, and react-three-fiber

Home Page:https://www.zachobba.com.au/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

new-react-portfolio

License License Github Commits GitHub latest commit GitHub followers GitHub repo size GitHub issues GitHub forks GitHub language count

Description

Project Aim

Make a personal portfolio website with interactable elements to boost user engagement.

What Problem Does It Solve

Increasing interactivity of my personal website.

What I Learnt

How to use React Three/Fiber and Three.js in React.

Deployment

Deployed on AWS here here

Table of Contents

User Story

I WANT to make a personal portfolio website with React.

I WANT to add interactable elements to the website.

SO THAT it boosts user engagement.

Screenshots

Picture of landing page of website

Customisable HTML options (mainly colours)

Customisable model options (type of model, material)

Some aHTML customisation

Some aHTML customisation

Some aHTML customisation

Installation

  1. Clone the repo to your computer by clicking the green code button and copying the SSH version or clicking the blue use template button.

  2. Open Gitbash in your desired folder and type git clone then right click to paste the string and hit enter. The repo will then be cloned to your computer.

  3. Navigate to the repo folder and type code . into gitbash to open the repo in VS Code.

  4. Open a new Terminal in VS Code and type npm install to install the repo dependencies.

  5. Finally, type npm run start into the terminal and it will start the dev server.

Note: To make a static no backend React site work on Heroku you need to take all the files out of the folder name you specified in the react-create-app. E.g. if you did create-react-app client, React will create the app in a folder called client, take all the files out of the client folder so they are now all at root level and then delete the empty client folder.

Features

You can change the:

website background gradient colours and gradient angle

Button gradient colours, gradient angle and text colour

Paragraph text colours

Header text colours

Link text colours

Model colour

Model material

Model type

Light color

Light position

Technology

  • React
  • Bootstrap
  • Three.js
  • React-Three/Fiber
  • Email.js
  • AWS Amplify
  • AWS Route 53
  • Google Analytics
  • Favicon

Contributors

Zachary Hobba

You can also contribute by opening a pull request or submitting an issue.

Acknowledgements

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/range

https://stackoverflow.com/questions/53332321/react-hook-warnings-for-async-function-in-useeffect-useeffect-function-must-ret

https://stackoverflow.com/questions/37623935/react-pass-checkbox-checked-state-to-parent-component

https://www.w3schools.com/css/css3_gradients.asp

https://stackoverflow.com/questions/72185696/how-do-i-render-points-on-every-vertex-of-my-geometry-in-react-with-three-js-and

https://www.ilyameerovich.com/simple-3d-text-meshes-in-three-js/

https://www.geeksforgeeks.org/how-to-pass-property-from-a-parent-component-props-to-a-child-component/

https://blog.logrocket.com/using-localstorage-react-hooks/

https://docs.github.com/en/rest/guides/traversing-with-pagination

Fixes email.js runtime error (I just had to update react-scripts) https://www.freecodecamp.org/news/error-error-0308010c-digital-envelope-routines-unsupported-node-error-solved/

https://www.emailjs.com/docs/examples/reactjs/

Create glassmorphism effect CSS

Favicon creator

Testing

No tests for this project

License

MIT

Copyright 2023 Zachary Hobba

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Questions

Find me on Github at HobbaZ

If this has helped you with your web development, consider buying me a Coffee (only costs $3) at zachobba

Email me at zachobba@gmail.com

About

A web dev portfolio using Github API, react, and react-three-fiber

https://www.zachobba.com.au/

License:MIT License


Languages

Language:JavaScript 91.6%Language:CSS 6.6%Language:HTML 1.7%