Latest portfolio of Samuel Yusuf
This project is still under construction! Feel free to set it up yourself though 😉
- Main
- Framework: Next.js & TypeScript
- Styling: SCSS
- Program/Journal/Feed
- Drag: react-draggable
- ORM: Prisma
- Database: Railway
- Server: tRPC
- Authentication: next-auth
- Content: Contentlayer
- Testing
- Unit Testing: Jest
- Integration Testing: React Testing Library
- E2E Testing: Cypress
- Tooling
- Git Hooks: Husky & lint-staged
- Formatting: ESLint & Prettier
- Package Manager: pnpm
- Others
- PWA: next-pwa
- Theming: next-themes
- UI Docs: Storybook
components/*- React components for the appcomponents/Icons/*- SVG icons as React componentscomponents/Programs/*- Invididual program componentscypress/*- Files related to Cypress/E2E testingdata/*- Static data for various componentsenv/*- Environment variable validationpages/*- Pages for app (there's only 1 main page)pages/_offline.tsx- Offline fallback page for PWApages/api/*- All API related tasksposts/*- Markdown files for the content of my blogprisma/*- My Prisma schema, which uses a CockroachDB databasepublic/*- Static assets including fonts and imagesserver/*- The backend, which is a tRPC serverstyles/*- Global SCSS filestypes/*- Global type declarationsutils/*- Utility functionsworker/*- Service workers
git clone https://github.com/Goggwell/newfolio.git
cd newfolio
npm i -g pnpm # this app requires pnpm
pnpm i
pnpm devAlso set up your own .env (example provided at .env.example)
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- 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
Samuel Yusuf
- Github: @Goggwell
This application is licensed under the Apache-2.0 license.
Give a ⭐️ if you like this project!