Усі проєкти

Modern Blog

У проді

Full-stack CRUD-блог на Next.js 15 App Router, із Server Actions і авторизацією через Clerk.

Modern Blog

Стек

  • Next.js 15
  • TypeScript
  • Tailwind CSS v4
  • Server Actions
  • Zod
  • Clerk

Задача

Другий курсовий проєкт, цього разу зосереджений саме на App Router і Server Actions у Next.js 15 — блог-платформа, де кожна операція запису (створення, редагування, видалення) проходить через валідовані Server Actions і вимагає авторизації, а не просто публічну форму.

Підхід

MVC-структура поверх App Router: роути лишаються тонкими, бізнес-логіка живе в окремих модулях, а Clerk керує входом і закриває CRUD-дії на сервері, а не покладається на клієнт. Zod валідує кожну відправку форми перед збереженням.

Ключові рішення

  • Server Actions для створення/редагування/видалення з миттєвим, оптимістичним оновленням UI — без окремого REST-шару для підтримки.
  • Авторизація через Clerk закриває всі операції запису; читання блогу лишається публічним.
  • Адаптивний інтерфейс зі стилем glassmorphism, станами завантаження й інлайн-валідацією помилок замість alert()-повідомлень.
  • TypeScript у строгому режимі (strict mode) по всьому проєкту.

Результат

Задеплоєно на Render як робочий MVP. Один свідомий компроміс, який не приховую: пости зберігаються у JSON-файлі, а не в базі даних, тож контент скидається після редеплою — це реальне обмеження файлового підходу, а не баг. Міграція на PostgreSQL через Prisma — наступний запланований крок, вже занотований у roadmap репозиторію.

На безкоштовному хостингу — перший запит займає ~30 с, доки сервер прокинеться.

Хочете щось подібне? Напишіть мені