Giter Club home page Giter Club logo

old-portfolio's Introduction

My Personal Portfolio Website


πŸ“šTable of Contents


πŸ“– Description

This is my portfolio website developed with a combination of advanced web development technologies, including HTML, CSS, JavaScript, React, Next.js, and styled-components. It has been crafted with great care to ensure its full responsiveness across all devices and its optimization for search engine visibility, making it SEO friendly.


πŸ›  Built with

html5 icon css3 icon react icon next.js icon styled-components


πŸ† Achievements

  • Modern front-end development with React and Next.js
  • SEO Optimization with Next.js
  • Utilization of CSS-in-JS with styled-components

old-portfolio's People

Contributors

hidemichishimura avatar

Watchers

 avatar

old-portfolio's Issues

Add the About section

Goal

  • Create a section to introduce myself

Deadline / Task size

  • 1 day

Steps

  • Create the About section component with the 2 subsections embedded

Design

Image

Create a reusable button component

Goal

  • To create a reusable button component

Deadline / Task size

  • 1 day

Steps

  • Create <CommonButton /> in /src/components/common

Design image

commonButton

Uncertainty

  • none

Additional memo

  • none

Add the Header section

GOAL

  • To create the Header section
  • To make it responsive for mobile, tablet, and laptop

DEADLINE / TASK SIZE

2 days

STEPS

  • Create the Header section

DESIGN

  • Tablet / Laptop
    Image

  • Mobile
    Image
    Image

DEPENDENCY

  • Predecessor: #4

Add the Contact section

Goal

  • To create a section for viewers to contact me

Deadline / Task size

  • 1 day

Steps

  • To create a section component <Contact /> to be embedded in <Main />

Design

image

Uncertainty

  • How can I implement the functionality of "creating an email draft when the icon is clicked"?
    • Use the a tag with the href attribute, the value of which is mailto: + my email address

Additional memo

  • none

Format all code with prettier

Goal

  • To prevent existing code from being highlighted at PRs for its format such as indentation

Deadline / Task size

  • 1 day

Steps

  • Execute the format command at the root directory of the project prettier --write

Shorten too long file paths for import

Goal

  • To prevent import/export paths from being too long and complicated
  • To invalidate import/export with absolute paths

Deadline / Task size

  • 1 day

Steps

  • Create jsconfig.json with these parameters in the root directory
    • "compilerOptions": { "baseUrl": ".", "paths": { "@/*": ["./src/*"] }}

Clarify the page structure

GOAL

  • To clarify what sections the portfolio web page is made of
  • To make it easier to understand the necessary components to create

TASK SIZE

1 day

Content updates: Intro Image and Skills

Goal

  • The profile image in the Intro section is replaced with another image

Deadline / Task size

  • 0.5 day

Steps

  • Replace the old image public/assets/profile-img.jpg with a new one
  • Add MongoDB to the section My Skills
  • Remove the shadow effect around the profile image

Uncertainty

  • None

Additional memo

  • None

Add the Footer section

Goal

  • To create the Footer section

Deadline / Task size

  • 1 day

Steps

  • Create <Footer /> to embed in pages/index.js

Design

image

Uncertainty

  • none

Additional memo

  • none

Lack of space between Contact and Footer

Goal

  • There is enough space between the Contact section and the Footer section

Deadline / Task size

  • 1 day

Steps

  • To add margin-bottom to <SectionLayout />

Screenshot

image

Uncertainty

  • Would be there any UI side-effects since <SectionLayout /> is commonly used over the page?
    • No. <SectionLayout /> has margin-top and there is already space between sections, so adding bottom margin won't affect other UIs.

Additional memo

  • none

UI update: Social links in the Contact section

Goal

  • Social links in the Contact section have a better hover animation

Deadline / Task size

  • 0.5 day

Steps

  • Apply the same hover effect as the GitHub button in the Projects section

Uncertainty

  • none

Additional memo

  • none

Embed Title components in SectionLayout components

Goal

  • To embed Title components in SectionLayout components

Deadline / Task size

  • 1 day

Steps

  • Import <SectionTitle /> to <SectionLayout /> and <SubSectionTitle /> to <SubSectionLayout>
  • Replace <Title /> with <SectionTitle /> and <SubSectionTitle />

Additional memo

  • There are some styles that should be fixed so that those style modifications can be addressed along with this embedding

Readability improvement for hard-coded breakpoints

Goal

  • To replace hard-coded breakpoints with constants for readability

Deadline / Task size

  • 1 day

Steps

  • Create constants for each breakpoint in /src/constants/index
  • Replace hard-coded breakpoints with the created constants

Additional memo

  • Mentioned at #37

Add the Intro section

GOAL

  • Create a section to introduce me with a brief description

DEADLINE / TASK SIZE

1 day

STEPS

  • Create a section with a heading of my name, my profile image, and a brief description of myself

Design

  • Mobile (~ 750px)
    Image

  • Tablet / Laptop (751px ~)
    Image

Fix height of the Intro section

Goal

  • The Intro section has 100vh or almost 100vh height to look better

Deadline / Task size

  • 0.5 day

Steps

  • Change the height of the Intro component with calc(100vh - header's height)

Uncertainty

  • none

Additional memo

  • none

Screenshot

  • The current Intro section

Image

Create the subsection "My Skills"

Goal

  • Create the subsection "My Skills" to embed in the About section

Deadline / Task size

  • 1 day

Steps

  • Create the "My Skills" component and tech icon components

Design

Image

Integration of existing CSS files with styled components

Goal

  • No CSS files exist in the project after this integration
  • All the existing CSS files, *.module.css and globals.css, get integrated with styled-components

Deadline / Task size

  • none

Steps

  • Create styled components of *.module.css and globals.css
  • Embed them in appropriate components or appropriate places

Uncertainty

  • How can I apply global styles with styled-components in Next.js?

    • Use createGlobalStyle for global styles
    • Embed the GlobalStyle component in _app.js

    Referrence: API Reference, Custom App

Additional memo

  • none

Projects update: weight-tracker

Goal

  • My new project weight-tracker is added to the section Projects

Deadline / Task size

  • 1 day

Steps

  • Add weight-tracker to the section Projects with:
    • A temporary thumbnail
    • MERN stack
    • App description

Uncertainty

  • None

Additional memo

  • None

UI bug of Header Logo's image

Goal

  • The header logo's image is displayed without a UI issue

Deadline / Task size

  • 1 day

Steps

  • Embed the image as background-image instead of using <Image />.
    Here're the necessary properties below.

    • background-image: url();
    • background-position: center;
    • background-size: cover;

Screenshot

image

Uncertainty

  • none

Additional memo

Horizontal spacing to the Main section

Goal

  • To Add more horizontal spacing to the Main section, especially for mobile views

Deadline / Task size

  • 1 day

Steps

  • Add more horizontal padding to <Main />

Uncertainty

  • none

Additional memo

  • none

Screenshot

image

UI update: the Projects section

Goal

  • The project thumbnails are replaced with gif
  • The GitHub button has better UI

Deadline / Task size

  • 1 day

Steps

  • Delete <Image />
  • Apply background-image: URL() in ProjectThumbnail in ImageContainer

Uncertainty

  • How can I use props with styled-components?
    • The same way as a normal component but with a callback function
      Reference: Passed props

Additional memo

  • none

Convert MySkillList to a reusable component

Goal

  • The MySkillList component becomes reusable and shows various skills depending on props

Deadline / Task size

  • 1 day

Steps

  • Add constants for the reusable MySkillList component to src/constants/index.js
  • Make MySkillList have props skills and size for reusability
  • Refactor MySkillList that is already called in other components

Uncertainty

  • none

Additional memo

  • This reusable component will be used in the Projects section later

Create README

Goal

  • To create a README instead of the default one

Deadline / Task size

  • 0.5 day

Steps

  • Create README with the topics below
    • Description
    • Used skills
    • Achievements

Uncertainty

  • none

Additional memo

  • none

Add Head with basic metadata

Goal

  • My portfolio website has the basic metadata in the Head

Deadline / Task size

  • 1 day

Steps

  • Create <Head /> with following metadata embedded
    • charset
    • viewport
    • title
    • author
    • description

Uncertainty

  • What should I name the title of the page?
    • Name + Job title

Additional memo

  • Use the built-in component next/head.
  • This PR only addresses basic metadata.
  • There mightl be another PR of updating metadata in <Head /> to improve this website's SEO.

UI update: Addition of skills used in each project

Goal

  • Each project in Projects has its tech stack

Deadline / Task size

  • 0.5 day

Steps

  • Add <SkillList /> with an array of its tech stack to <ProjectDescription />

Uncertainty

  • none

Additional memo

  • none

Thumbnail update: Weight Tracker

Goal

  • The thumbnail of Weight Tracker is replaced with the new app gif

Deadline / Task size

  • 0.5 day

Steps

  • Replace the current thumbnail weight-tracker.jpg in public/assets with a new gif
  • Change the path of the current thumbnail file in src/constants/index, PROJECT_DETAILS

Uncertainty

  • None

Additional memo

  • None

Add hover effect on the logo and the links in header

Goal

  • The logo and the links in the header get darker on hover

Deadline / Task size

  • 0.5 day

Steps

  • Add :hover to Container in HeaderLogo
  • Add :hover to NavLink in NavMenu

Uncertainty

  • none

Additional memo

  • none

Screenshot

header

Create a reusable layout component for section

Goal

  • To create a component for the common section layout that can be used over the page

Deadline / Task size

  • 1 day

Steps

  • Create <SectionLayout /> in src/common

Layout image

Image

Additional memo

  • I will create a similar layout component for SubSectionLayout for 'Who am I?" and "My Skills" in About

UI fix: Header

Goal

  • The header has a blurred background

Deadline / Task size

  • 0.5 day

Steps

  • Add backdrop-filter: blur() to the header

Uncertainty

  • none

Additional memo

  • none

Project research

GOAL

  • To set the project term
  • To clarify tech skills to be used in this project
  • To decide on a development environment for this project
  • To find out my current uncertainty regarding the project

DEADLINE

29 Dec 2022

RESEARCH TOPICS

  • Project deadline
  • Skills used in this project
  • Development environment
  • Deployment environment
  • Uncertainty

Styling the headings with gradient color

Goal

  • All the headings have gradient color

Deadline / Task size

  • 1 day

Steps

  • To add the gradient color styles to each heading with the colors below
    • --main-color: #252525
    • --text-color: #ffffff
    • --accent-color: #fef2b2

Uncertainty

  • none

Additional memo

  • none

Implement in-page navigation to sections in main

Goal

  • Users get to a section when they click on a section in the navigation menu

Deadline / Task size

  • 1 day

Steps

  • Add id as props to <SectionLayout /> at which the window scrolling ends up

Uncertainty

  • none

Additional memo

  • The Intro section does not contain <SectionLayout /> and its id is hard coded, which needs to be fixed as well.

Add the Projects section

Goal

  • To Create a section to introduce my projects

Deadline / Task size

  • 2 days

Steps

  • To add <Projects /> in <Main />

Design image

  • Mobile

Image

  • Table / Laptop

Image

Uncertainty

  • none

Additional memo

  • none

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.