Усі проєкти

MovieHouse

У проді

Full-stack застосунок для пошуку фільмів на основі TMDB API — з пошуком, фільтрами та серверним рендерингом.

MovieHouse

Стек

  • Node.js
  • Express.js
  • EJS
  • Tailwind CSS v4
  • Zod
  • TMDB API

Задача

Практичний проєкт курсу з full-stack веброзробки, зі свідомо "дорослим" технічним завданням: застосунок для пошуку фільмів, який відчувається як готовий продукт, а не навчальна CRUD-вправа — швидкий пошук, змістовна фільтрація й деталі, які варто читати, і все це поверх стороннього API з власними лімітами й особливостями.

Підхід

Соло-розробка, backend-first: Express віддає серверно-рендерені EJS-сторінки, а окремий сервісний шар інкапсулює звернення до TMDB API — решта застосунку з ним напряму не спілкується. Кожен користувацький ввід — пошуковий запит, фільтри, пагінація — валідується через Zod, перш ніж дійти до цього шару.

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

  • Кешування відповідей TMDB на 5 хвилин (node-cache) — повторні пошуки й списки популярного не б'ють по зовнішньому API щоразу.
  • Rate limiting і security-заголовки Helmet — застосунок коректно поводиться під навантаженням і має розумний захист за замовчуванням.
  • Розширена фільтрація (жанр, рік, рейтинг, сортування), горизонтальні карусельні слайдери популярного/топового, і прямі посилання на стрімінгові сервіси.
  • Кастомні сторінки 404/500 і санітизовані повідомлення про помилки в проді — без витоку stack trace.

Результат

Задеплоєно на Render, працює як публічне демо. Пункти на майбутнє — TV-шоу, сторінки жанрів, списки перегляду — відкрито зазначені в roadmap репозиторію.

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

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