Portfolio · blog · digital garden
| Layer | Tools |
|---|---|
| Framework | Next.js 16, React 19 |
| Language | TypeScript |
| Styling | Tailwind CSS v4 |
| Content | MDX, next-mdx-remote, Shiki |
| Data | Prisma 7, Postgres |
| State / Fetch | SWR |
| Monitoring | Sentry, Checkly, UptimeRobot, Vercel Analytics, Speed Insights |
| Testing | Jest, Testing Library |
| Tooling | oxlint, oxfmt, commitlint, pnpm |
| Hosting | Vercel |
- Node 24.x
- pnpm 10.x
- Postgres database (local or hosted, e.g. Neon)
git clone https://github.com/Shramkoweb/Portfolio.git
cd Portfolio
pnpm install
cp .env.example .env
# fill in DATABASE_URL, SENTRY_*, GITHUB_TOKEN
pnpm devApp runs at http://localhost:3000.
| Command | Purpose |
|---|---|
pnpm dev |
start dev server |
pnpm build |
production build + sitemap |
pnpm start |
start production server |
pnpm lint / pnpm lint:fix |
oxlint |
pnpm format / pnpm format:check |
oxfmt |
pnpm test / pnpm test:coverage |
Jest |
pnpm article |
scaffold a new blog post |
Tests use Jest with Testing Library. Run pnpm test for the full suite or pnpm test:coverage for a coverage report. Tests live in __tests__/. CI uploads coverage to Code Climate.
Deploys automatically to Vercel on push to main. The postbuild script regenerates the sitemap via next-sitemap. Pull requests run a Lighthouse budget check defined in .github/workflows/lighthouse.yml.
-
UptimeRobot status page — public uptime monitor for the live site.
-
Checkly dashboard — E2E tests and build status.
- Commits follow Conventional Commits (Angular convention). Enforced by
commitlint.config.ts. - A pre-commit hook auto-formats staged JS/TS via
oxfmt(installed bypnpm installthrough thepreparescript). - Run
pnpm pre-pushbefore pushing — it runs lint and format checks.
MIT — see LICENSE.

