Цей проєкт є Застосунком для Оглядів Фільмів, створеним на Ruby on Rails. Він дозволяє користувачам реєструватися, переглядати колекцію фільмів, оцінювати їх та залишати коментарі. Застосунок включає функції автентифікації користувачів, управління профілями та адміністрування для керування фільмами, режисерами, акторами та жанрами.
- Автентифікація користувачів: Використовується Devise для автентифікації користувачів, що дозволяє реєструватися, входити в систему.
- Адміністративний інтерфейс: ActiveAdmin надає інтерфейс адміністратора для керування фільмами, режисерами, акторами, жанрами та користвачами.
- Управління фільмами: Користувачі можуть переглядати фільми, фільтрувати їх за назвою, роком, жанром та сортувати за назвою. Також вони можуть оцінювати та коментувати фільми.
- Підтримка багатомовності: Застосунок підтримує кілька мов за допомогою гему i18n.
Щоб налаштувати застосунок на вашій локальній машині, виконайте наступні кроки:
-
Клонувати репозиторій:
git clone <repository-url> cd <repository-directory>
-
Встановити залежності:
bundle install
-
Налаштувати базу даних:
rails db:create rails db:migrate rails db:seed
-
Запустити сервер Rails:
rails server
-
Доступ до застосунку:
Відкрийте ваш браузер і перейдіть на
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: Пайплайн активів.
Діаграма користувача
Діаграма адміністратора
Маршрути
- root 'films#index': Домашня сторінка з переліком фільмів.
- devise_for :users: Маршрути для автентифікації користувачів.
- resources :profiles: Маршрути для управління профілями користувачів.
- resources :films do: Вкладені маршрути для управління фільмами, оцінками та коментарями.
- resources :directors: Маршрути для управління режисерами.
- resources :actors: Маршрути для управління акторами.
- resources :genres: Маршрути для управління жанрами.

