You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: README.md
+29-29
Original file line number
Diff line number
Diff line change
@@ -20,11 +20,11 @@ This project has two main components: a Rails API and a React front-end. You wil
20
20
21
21
## Problem Statement
22
22
23
-
Our rental store employees want to be able to manage their rental inventory. They want to be able to search through all movies and pick and choose which movies they want to add to their rental library. They want to be able to manage their rental library. We will be using an external API to build in searching for *all movies*. We will use our existing Rails API to manage the *rental library*.
23
+
Our rental store employees want to be able to manage their rental inventory. They want to be able to search through all videos and pick and choose which videos they want to add to their video library. They want to be able to manage their video library. We will be using an external API to build in searching for _all videos_. We will use our existing Rails API to manage the _video library_.
24
24
25
25
## Project Information
26
26
27
-
This project will be utilizing an external API within an API! Whoa! Your front-end implementation will be interacting with a **Rails API** that you will be modifying. The Rails API wraps an **external API** which contains many endpoints related to movies. The external API is [The Movie DB](https://www.themoviedb.org/documentation/api).
27
+
This project will be utilizing an external API within an API! Whoa! Your front-end implementation will be interacting with a **Rails API** that you will be modifying. The Rails API wraps an **external API** which contains many endpoints related to videos. The external API is [The Movie DB](https://www.themoviedb.org/documentation/api).
28
28
29
29
The requirements for this project are intentionally open-ended. Part of your job is to work with your partner to prioritize them.
30
30
@@ -67,17 +67,17 @@ Each pair/group will give a short presentation on their project and their learni
67
67
If I am a rental store employee...
68
68
69
69
- From the home page, I can navigate to the following pages:
70
-
-Movie search page
71
-
-Movie library page
70
+
-Video search page
71
+
-Video library page
72
72
- Customer list page
73
-
- From the movie search page, I can search for a movie by title from the external API
74
-
- From the movie search results, I can add a movie from the search results to the rental library
75
-
- From the rental library page, I can see a list of all movies in the rental library
76
-
- From the rental library list, I can "select" a movie from the rental library. My movie selection will continue to be visible as I navigate the app.
73
+
- From the video search page, I can search for a video by title from the external API
74
+
- From the video search results, I can add a video from the search results to the video library
75
+
- From the video library page, I can see a list of all videos in the video library
76
+
- From the video library list, I can "select" a video from the video library. My video selection will continue to be visible as I navigate the app.
77
77
- On the customer list page, I can see a list of all customers
78
78
- From the customer list, I can "select" a customer. My customer selection will continue to be visible as I navigate the app.
79
-
- Given I have selected a movie and a customer, I can check out the selected movie for the selected customer
80
-
- NOTE: a checkout is between ONE movie and ONE customer
79
+
- Given I have selected a video and a customer, I can check out the selected video for the selected customer
80
+
- NOTE: a checkout is between ONE video and ONE customer
81
81
82
82
### The React Router
83
83
@@ -89,8 +89,8 @@ Your front-end should use the [React Router](https://reacttraining.com/react-rou
89
89
Your front-end should have at least the following routes:
90
90
91
91
-`/` (home page)
92
-
-`/search` (movie search page: allows the user to search for a movie from the external API)
93
-
-`/library` (rental library page: lists movies in the rental library)
92
+
-`/search` (video search page: allows the user to search for a video from the external API)
93
+
-`/library` (video library page: lists videos in the video library)
94
94
-`/customers` (customer list page: lists customers)
95
95
96
96
You can have more if you want (for example `/customers/:id`), but ultimately the design of your user interface is up to you.
@@ -106,34 +106,34 @@ You can have more if you want (for example `/customers/:id`), but ultimately the
106
106
## Back-End Requirements
107
107
108
108
The Rails back-end already has a lot of functionality implemented. You can:
109
-
- Get the list of movies in the library
110
-
- Search for movies in the external API
111
-
- Get details on an individual movie
109
+
- Get the list of videos in the library
110
+
- Search for videos in the external API
111
+
- Get details on an individual video
112
112
- Get a list of customers
113
-
- Check movies in and out
114
-
- Get a list of all overdue movies
113
+
- Check videos in and out
114
+
- Get a list of all overdue videos
115
115
116
116
It is worth taking the time to read through this Rails code and understand how the different pieces of the server fit together.
117
117
118
-
For the core requirements, you will need to add the ability to add a movie from the external API to our library. Things to consider:
118
+
For the core requirements, you will need to add the ability to add a video from the external API to our library. Things to consider:
119
119
120
-
- How does the front-end specify which movie to add?
121
-
- Where does the Rails server get the information about the movie?
122
-
- What happens if you try to add the same movie twice?
120
+
- How does the front-end specify which video to add?
121
+
- Where does the Rails server get the information about the video?
122
+
- What happens if you try to add the same video twice?
123
123
124
124
## Optional Enhancements
125
125
Some of these optional requirements require work in the front-end only, back-end only or both.
126
126
127
127
- Deploy your front-end to GitHub Pages, and your back-end to AWS
128
128
- Set up TravisCI for continuous integration on your back-end
129
-
- Allow a user to interact with a Movie by clicking
130
-
- When _selected_, a Movie shows more information
131
-
- When _deselected_, a Movie returns to its default state
132
-
- Only one movie can be selected at a time - selecting another movie deselects the one which was selected
133
-
- Add a detail page for a customer to see the movies they have checked out. Overdue movies should be highlighted.
134
-
- Be able to check in movies from the customer details page
129
+
- Allow a user to interact with a Video by clicking
130
+
- When _selected_, a Video shows more information
131
+
- When _deselected_, a Video returns to its default state
132
+
- Only one video can be selected at a time - selecting another video deselects the one which was selected
133
+
- Add a detail page for a customer to see the videos they have checked out. Overdue videos should be highlighted.
134
+
- Be able to check in videos from the customer details page
135
135
- Full CRUD for customers
136
-
- Introduce scrolling pagination to dynamically load more movies when scrolling to the bottom (research!!)
136
+
- Introduce scrolling pagination to dynamically load more videos when scrolling to the bottom (research!!)
137
137
138
138
## Presentation Requirements
139
139
@@ -143,7 +143,7 @@ This presentation should be a concise demo of your project and also talking thro
143
143
144
144
Please include the following things in your demo:
145
145
-**ONE** of the following user flows to demo:
146
-
- Search for a movie and select a movie
146
+
- Search for a video and select a video
147
147
- I can look at the customers and see a customer
148
148
- Describe the process of this project:
149
149
- What were some of the challenges and victories of this project?
| There are controller tests around adding a movie to the database including tests around adding a movie twice and adding a movie not in the movie database. | ✔️? |
33
-
| There are API controller actions which allow the user to add a movie to the database. | ✔️? |
34
-
| The api uses the movie database via HTTParty to pull movie content. | ✔️? |
35
-
| You cannot add a movie twice. | ✔️? |
32
+
| There are controller tests around adding a video to the database including tests around adding a video twice and adding a video not in the video database. | ✔️? |
33
+
| There are API controller actions which allow the user to add a video to the database. | ✔️? |
34
+
| The api uses the video database via HTTParty to pull video content. | ✔️? |
0 commit comments