Goggwell/newfolio

:sparkles: My new portfolio inspired by desktop operating systems

โ˜… 9Forks 0TypeScriptGitHub โ†—Compare

Project website โ†—

contentlayercypressjestmarkdownnext-authnextjspersonal-websiteportfolioprismapwareactreact-draggablescssstorybooktrpctypescript

README

๐Ÿšง UNDER CONSTRUCTION ๐Ÿšง

Version

Latest portfolio of Samuel Yusuf

This project is still under construction! Feel free to set it up yourself though ๐Ÿ˜‰

โœจ Stack

๐Ÿ˜Ž Overview

  • components/* - React components for the app
  • components/Icons/* - SVG icons as React components
  • components/Programs/* - Invididual program components
  • cypress/* - Files related to Cypress/E2E testing
  • data/* - Static data for various components
  • env/* - Environment variable validation
  • pages/* - Pages for app (there's only 1 main page)
  • pages/_offline.tsx - Offline fallback page for PWA
  • pages/api/* - All API related tasks
  • posts/* - Markdown files for the content of my blog
  • prisma/* - My Prisma schema, which uses a CockroachDB database
  • public/* - Static assets including fonts and images
  • server/* - The backend, which is a tRPC server
  • styles/* - Global SCSS files
  • types/* - Global type declarations
  • utils/* - Utility functions
  • worker/* - Service workers

๐Ÿ”ง Setup

git clone https://github.com/Goggwell/newfolio.git
cd newfolio
npm i -g pnpm # this app requires pnpm
pnpm i
pnpm dev

Also set up your own .env (example provided at .env.example)

๐Ÿš€ Usage

pnpm dev # development
pnpm build # build app
pnpm build # set process.env.ANALYZE to true to see dependency bundle information
pnpm test # run Jest tests
pnpm cypress # run Cypress
pnpm storybook # run Storybook

๐Ÿ‘ท To-Do

  • Add example env
  • [] Add static chatbot as a playful experience
  • Finish adding Journal entries (for now, but there may be more in the future)
  • Finish adding static content in other Programs
  • [] Complete styling for all components
  • [] Write unit tests for all components
  • [] Write full E2E test
  • [] Add all components to Storybook
  • [] (Optional) Add to-do list with Jotai/Zustand as Sticky Notes alternative
  • [] (Optional) Add MS Paint clone
  • [] (Optional) Convert react-draggable to @dnd-kit/core

๐Ÿ‘ค Author

Samuel Yusuf

๐Ÿ“œ License

This application is licensed under the Apache-2.0 license.

๐ŸŽ‰ Show your support

Give a โญ๏ธ if you like this project!

Contributors

Goggwellsamuel-bd

Issues