Skip to content

CS31IvanK/FilmSearcher

Repository files navigation

Ruby on Rails Застосунок для Оглядів Фільмів

Огляд Проєкту

Цей проєкт є Застосунком для Оглядів Фільмів, створеним на Ruby on Rails. Він дозволяє користувачам реєструватися, переглядати колекцію фільмів, оцінювати їх та залишати коментарі. Застосунок включає функції автентифікації користувачів, управління профілями та адміністрування для керування фільмами, режисерами, акторами та жанрами.

Функціональні можливості

  • Автентифікація користувачів: Використовується Devise для автентифікації користувачів, що дозволяє реєструватися, входити в систему.
  • Адміністративний інтерфейс: ActiveAdmin надає інтерфейс адміністратора для керування фільмами, режисерами, акторами, жанрами та користвачами.
  • Управління фільмами: Користувачі можуть переглядати фільми, фільтрувати їх за назвою, роком, жанром та сортувати за назвою. Також вони можуть оцінювати та коментувати фільми.
  • Підтримка багатомовності: Застосунок підтримує кілька мов за допомогою гему i18n.

Встановлення

Щоб налаштувати застосунок на вашій локальній машині, виконайте наступні кроки:

  1. Клонувати репозиторій:

    git clone <repository-url>
    cd <repository-directory>
  2. Встановити залежності:

    bundle install
  3. Налаштувати базу даних:

    rails db:create
    rails db:migrate
    rails db:seed
  4. Запустити сервер Rails:

    rails server
  5. Доступ до застосунку:

    Відкрийте ваш браузер і перейдіть на http://localhost:3000.

Використання

Дії користувача

  • Перегляд фільмів: Користувачі можуть переглядати колекцію фільмів, фільтрувати за назвою, роком і жанром, та сортувати за назвою, обирати фільми на рандом.
  • Оцінка та коментарі: Користувачі можуть оцінювати фільми та залишати коментарі.
  • Керування профілем: Користувачі можуть задавати ім'я своєму аккаунту.
  • Перегляд акторів: Користувачі можуть переглядати дані про акторів та фільми в яких вони знімалися.
  • Перегляд жанрів: Користувачі можуть переглядати дані про жанри.
  • Перегляд режисерів: Користувачі можуть переглядати дані про режисерів та фільми аз якими вони закріплені.

Дії адміністратора

  • Керування фільмами: Адміністратори можуть створювати, редагувати та видаляти фільми.
  • Керування режисерами: Адміністратори можуть керувати списком режисерів.
  • Керування акторами: Адміністратори можуть керувати списком акторів.
  • Керування жанрами: Адміністратори можуть керувати списком жанрів.
  • Керування користувачами: Адміністратори можуть блокувати/розблоковувати користвачів.

Тестування

Щоб запустити набір тестів, використовуйте наступну команду:

rails test

Розгортання Щоб розгорнути застосунок, переконайтеся, що ви налаштували ваше виробниче середовище з необхідними обліковими даними та налаштуваннями. Потім виконайте:

rails db:migrate 
rails server 

Використані Геми

  • Rails: Веб-фреймворк для застосунків.
  • Devise: Рішення для автентифікації користувачів.
  • ActiveAdmin: Фреймворк для адміністративних інтерфейсів.
  • Foundation: Фронтенд-фреймворк для адаптивного дизайну.
  • PostgreSQL: Система управління базами даних.
  • SassC: Препроцесор CSS.
  • Puma: Веб-сервер.
  • Importmap-Rails: Для керування залежностями JavaScript.
  • Turbo-Rails: SPA-подібний досвід.
  • Stimulus-Rails: Простий JavaScript-фреймворк.
  • Jbuilder: Для генерації JSON-відповідей.
  • Sprockets-Rails: Пайплайн активів.

Діаграма користувача

UserDiagram

Діаграма адміністратора

AdminDiagram

Маршрути

  • root 'films#index': Домашня сторінка з переліком фільмів.
  • devise_for :users: Маршрути для автентифікації користувачів.
  • resources :profiles: Маршрути для управління профілями користувачів.
  • resources :films do: Вкладені маршрути для управління фільмами, оцінками та коментарями.
  • resources :directors: Маршрути для управління режисерами.
  • resources :actors: Маршрути для управління акторами.
  • resources :genres: Маршрути для управління жанрами.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •