In this app user can see many movies. User can rate the movie and give comments. User can also book online ticket for particular movie and download the invoice in PFD form. In this app only admin has privilege to manage movies and while on the other hand user only can see this.
Ruby version: ruby 2.6.3p62
Rails version: Rails 5.2.3
Database: sqlite3
This app has 4 main models user, review, movie and booking. Movie model has one-to-many relationship with user model. Review model has one-to-many relationship with movie. Booking model has one-to-many relationship with movie.
1. In this app Devise gem is used for registration and login.
2. Cancan gem is used for authentication of users on the bases
of their roles.
3. Paperclip gem used to upload to photos of
movies.
4. Font-awesome-sass gem us used to include font-awesome
icons in rails.
5. Wicked PDF gem is used for to download movie's
booking invoice in PDF form.
1. User can register on this app and if user is already
registered then can login.
2. After the signup/login user
can see all movies present in the app on index page.
3. User can click on any particular movie to see its
details.
4. User can click on "Write a review" button and
then can rate and comment the movie.
5. User can click on
"Book ticket" button and after giving quantity of tickets and
then book ticket for the movie.
6. After booking ticket user
can click on "Download PDF" button and download invoice
for ticket in PDF form.
7. If user is a admin then he/she
can create a new movie, update and delete old movies present
in the app.
1. Pull the project down from GitHub using git clone.
2. Change into the project directory using cd IMDb.
3. Install the gems using bundle install.
4. Create the
database with rake db:create.
4. Run the migrations with
rake db:migrate.
5. Open localhost:3000 in user browser.