My current portfolio website, built with TypeScript, Next.js, React, Tailwind CSS, self-hosted on Raspberry Pi 5. https://ryanfreeman.dev
Go to file
2023-02-05 22:07:02 +00:00
components More work on subscribe feature 2023-02-05 21:53:47 +00:00
lib Added spotify minutes listened metric to dashboard 2023-02-02 21:56:09 +00:00
pages Temporarily removed mail link from about page 2023-02-05 22:07:02 +00:00
prisma Added page views functionality 2023-01-17 21:24:16 +00:00
public Updated CV 2023-01-19 22:00:08 +00:00
styles Migrated to nextjs13 & TypeScript 2023-01-14 21:33:29 +00:00
types Changes to dashboard and added CardGroup component 2023-01-29 23:04:28 +00:00
.env.example Added spotify minutes listened metric to dashboard 2023-02-02 21:56:09 +00:00
.eslintrc.json Updated portfolio 2023-01-02 18:05:03 +00:00
.gitignore Added page views functionality 2023-01-17 21:24:16 +00:00
jsconfig.json Changed project structure 2023-01-19 21:53:37 +00:00
next.config.mjs Removed cache-control header from config 2023-02-01 21:01:22 +00:00
package-lock.json Updated styling of icons on projects page 2023-02-02 21:12:03 +00:00
package.json Updated styling of icons on projects page 2023-02-02 21:12:03 +00:00
postcss.config.js Migrated to nextjs13 & TypeScript 2023-01-14 21:33:29 +00:00
README.md Updated screenshot in README 2023-02-04 23:30:30 +00:00
tailwind.config.js Change bg colour 2023-01-23 19:51:54 +00:00
tsconfig.json Changed project structure 2023-01-19 21:53:37 +00:00

Portfolio of Ryan Freeman

Portfolio

This website was built using TypeScript, React, Next.js and Tailwind CSS. It is designed to showcase my professional experience and skills, as well as provide information about me and my interests.

Project structure

  • components/ - All the components of the website in tsx format.
  • lib/ - Useful functions and scripts for connecting to external services and so on.
  • pages/api/ - API routes for article views and Spotify integrations.
  • pages/writing/ - Blog posts written in MDX format (Markdown in JSX).
  • pages/ - Contains all other static pages like about, projects and uses.
  • prisma/ - Prisma schema which describes the structure of the Supabase postgres database.
  • public/ - Used for static files such as icons and images.
  • styles/ - Contains the stylesheets for Tailwind and Prism.
  • types/ - Types for various components in the project.

Running locally

This application requires node v16.14+.

git clone https://github.com/r-freeman/portfolio.git
cd portfolio/
npm i
npm run dev

Create a .env.local file using .env.example as a template.