Giter Club home page Giter Club logo

portfolio-next's Introduction

Personal Portfolio

A personal portfolio website, made with Next and Contentlayer.

Table of Contents

Purpose

The purpose of this project is to build a personal portfolio for myself as well as try out new libraries to help assist on building it - a combination of building and learning as I go.

Setup

To run this project locally, install the necessary dependencies using NPM:

$ npm install

Afterward, run the project in dev mode:

$ npm run dev

Built with

Here are the libraries I used to build this portfolio. Outside basic React with JavaScript, everything used here is a new learning experience for me.

Projects

Individual project pages are created dynamically from markdown files. The usage of Contentlayer allowed fetching of markdown content as data directly into each page.

All that is needed is to create the Contentlayer config file, edit the Next + Typescript config file, define the content schema (in this case, a schema for projects) and that's it. Afterwards, it is simply a matter of importing that data directly into my project files as needed.

Project Schema:

field type notes
title string
content string Small description of the project
link string GitHub repo link
site string Live site link
src string location of image src
alt string alt name for image src
skills string[] list of skills utilized for the project

As long as all of the fields are fulfilled when creating a new markdown project file, any new markdown files in the projectItems directory will automatically be imported so there are no code configuration to do to add it into the project list.

My Process

My process for developing the portfolio can be easily summed up as 3 steps:

  1. Research
  2. Prototype
  3. Development
  4. The Future

Research

In order to create a portfolio, I wanted some inspiration on what some modern portfolios looked like, especially one with a focus on development like mine.

For this stage in development, I went and researched designs on these 2 sites:

Doing this research allowed me to gain some insight as to how to design my portfolio and taken the right steps on creating it.

Prototype

After the research stage, I decided to make a rough prototype of my site using Figma design tools. Nothing too deep on the prototype, just a simple markup for what I wanted my portfolio to potentially look like, the layout, colors, etc.

Development

Once I had an idea of what I wanted my project to look like, I went on and gather the tools I needed in order to create the design I wanted. At the same time, I also wanted to try out various libraries that I came across in my development journey, which is the secondary purpose of this project.

The Future

This is not a one-and-done project, as I plan on updating the site and content sometime in the future when necessary. This may include:

  • Adding more projects
  • Bug fixes
  • UI improvements

Resources

Prototyping

Content

UI and Assets

portfolio-next's People

Contributors

hny-codes avatar

Watchers

 avatar  avatar

portfolio-next's Issues

[TODO] Custom Domain

Current domain is Vercel's domain.

Will change once a custom domain has been purchased.

[Update] Portfolio enhancement and other features

List of new features to implement

  • Add new projects to project list
  • Integrate Contentlayer into project
  • Add dynamic routes for each project
  • Add an additional animation upon home page
  • Update metadata and implement OpenGraph into metadata
  • Various code refactoring

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.