Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
621e130
Created basic routing and components.
SuelyBarreto Jun 23, 2020
3fe2064
Added Search and Library placeholders. Updated Nav.
SuelyBarreto Jun 23, 2020
41f88f2
Created selected movie and selected customer states.
SuelyBarreto Jun 23, 2020
631a812
Implementing basic callback functionality for select movie and select…
SuelyBarreto Jun 23, 2020
a6280b7
Library shows all movies and allows selection.
SuelyBarreto Jun 23, 2020
260caba
Showing and selecting customers .
SuelyBarreto Jun 23, 2020
b2d0cf5
Search for a movie by title.
SuelyBarreto Jun 23, 2020
3550078
Added axios
ydunbar Jun 23, 2020
546358c
implemented search for movies in external API
ydunbar Jun 23, 2020
a42e2e3
Implemented adding movie from external API search to library
ydunbar Jun 23, 2020
76b5a9c
Shows selected movied title and selected customer name.
SuelyBarreto Jun 23, 2020
b974ec4
Added Axios and used API to get movies and customers.
SuelyBarreto Jun 24, 2020
b52a036
adding movies
ydunbar Jun 24, 2020
84ad0b9
merged in connecting-API branch
ydunbar Jun 24, 2020
15aa0e7
Merge branch 'connecting-API' of https://github.com/SuelyBarreto/vide…
SuelyBarreto Jun 24, 2020
a6f5538
Merge branch 'master' of https://github.com/SuelyBarreto/video-store-…
SuelyBarreto Jun 24, 2020
ba619bf
Fixed bug in useEffect
ydunbar Jun 24, 2020
a608bd9
Fixed one more useEffect
ydunbar Jun 24, 2020
8750db5
Fixed issue in search, by using a useEffect to handle state changes.
SuelyBarreto Jun 24, 2020
82d6f41
Merge branch 'master' of https://github.com/SuelyBarreto/video-store-…
SuelyBarreto Jun 24, 2020
1ed1cfe
merge conflict
SuelyBarreto Jun 24, 2020
2926e49
Posted added movie to database
ydunbar Jun 24, 2020
9c951c3
Ensured only unique movies can be added
ydunbar Jun 24, 2020
3f7db0c
removed unused code
ydunbar Jun 24, 2020
a18c5d1
Added react-bootstrap and updated navbar
ydunbar Jun 24, 2020
33dcfb7
Added bootstrap buttons
ydunbar Jun 24, 2020
c4a3aea
Added splash image to homepage
ydunbar Jun 24, 2020
ccee27a
Started checkout
SuelyBarreto Jun 25, 2020
4f47bc8
Added bootstrap table to customers page
ydunbar Jun 25, 2020
66f11b0
combined axios useEffects into one.
SuelyBarreto Jun 25, 2020
58ff296
Added alerts
ydunbar Jun 25, 2020
b4ee9a5
cleaned up CSS file
ydunbar Jun 25, 2020
849543a
fixed merge conflict from master
ydunbar Jun 25, 2020
a32d108
Renamed draw to render and other minor refactoring.
SuelyBarreto Jun 25, 2020
262a9a6
Added flexbox to Library and Search views
ydunbar Jun 25, 2020
914bbdd
fixed merge conflicts with master
ydunbar Jun 25, 2020
83b3db5
refined spacing around movie cards
ydunbar Jun 25, 2020
a01f8f5
added footer
ydunbar Jun 25, 2020
a74df3f
fixed bug in footer
ydunbar Jun 25, 2020
00ee645
Working on date checkout api
SuelyBarreto Jun 25, 2020
585f2df
fixed rental date bug
ydunbar Jun 25, 2020
6d64736
bs
ydunbar Jun 25, 2020
7aa8a63
Merged add-only-unique-movies branch
ydunbar Jun 25, 2020
b3048b6
merged add-styling branch
ydunbar Jun 25, 2020
664c779
fixed nav bug
ydunbar Jun 25, 2020
3c46e0a
refined nav links
ydunbar Jun 25, 2020
daf4848
Finished checkout with success/error messages.
SuelyBarreto Jun 26, 2020
0495c55
fixed movie date bug
ydunbar Jun 26, 2020
6c37068
added styling to checkout page
ydunbar Jun 26, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@

# misc
.DS_Store
.env
.env.local
.env.development.local
.env.test.local
Expand Down
11 changes: 8 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ This project has two main components: a Rails API and a React front-end. You wil

## Problem Statement

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*.
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_.

## Project Information

Expand All @@ -47,9 +47,9 @@ Each pair/group will give a short presentation on their project and their learni

### 2. External API Configuration

- Follow the instructions on the API's [Getting Started](https://developers.themoviedb.org/3/getting-started) page to set up your account and request an API Key. You can use Ada's address in the registration process.
- Follow the instructions on the API's [Getting Started](https://developers.themoviedb.org/3/getting-started) page to set up your account and request an API Key. You can use Ada's address in the registration process.
- Read through the documentation and use POSTman to investigate the API. A few endpoints you may want to explore include:
- [Search Movies](https://developers.themoviedb.org/3/search/search-movies)
- [Search Library](https://developers.themoviedb.org/3/search/search-movies)
- [Get Movie Details](https://developers.themoviedb.org/3/movies/get-movie-details)
- [Configuration](https://developers.themoviedb.org/3/configuration/get-api-configuration)

Expand Down Expand Up @@ -82,6 +82,7 @@ If I am a rental store employee...
### The React Router

Your front-end should use the [React Router](https://reacttraining.com/react-router/). You will need to research this as a pair!

- What problem does it solve?
- How do you install it?
- How do you use it?
Expand All @@ -106,6 +107,7 @@ You can have more if you want (for example `/customers/:id`), but ultimately the
## Back-End Requirements

The Rails back-end already has a lot of functionality implemented. You can:

- Get the list of movies in the library
- Search for movies in the external API
- Get details on an individual movie
Expand All @@ -122,6 +124,7 @@ For the core requirements, you will need to add the ability to add a movie from
- What happens if you try to add the same movie twice?

## Optional Enhancements

Some of these optional requirements require work in the front-end only, back-end only or both.

- Deploy your front-end to GitHub Pages, and your back-end to AWS
Expand All @@ -142,6 +145,7 @@ At the conclusion of this project, each group will give a presentation of their
This presentation should be a concise demo of your project and also talking through the following reflection prompts.

Please include the following things in your demo:

- **ONE** of the following user flows to demo:
- Search for a movie and select a movie
- I can look at the customers and see a customer
Expand All @@ -156,4 +160,5 @@ Please include the following things in your demo:
There is no expectation for a slideshow.

## What we're looking for

You can see what your instructors are looking for [here](./feedback.md)
10,160 changes: 5,668 additions & 4,492 deletions package-lock.json

Large diffs are not rendered by default.

16 changes: 16 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,30 @@
"version": "0.1.1",
"private": true,
"dependencies": {
"axios": "^0.19.2",
"bootstrap": "^4.5.0",
"react": "^16.13.1",
"react-bootstrap": "^1.0.1",
"react-dom": "^16.13.1",
"react-router-dom": "^5.2.0",
"react-scripts": "3.4.1"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test --env=jsdom",
"eject": "react-scripts eject"
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
}
}
12 changes: 12 additions & 0 deletions public/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,17 @@
work correctly both with client-side routing and a non-root public URL.
Learn how to configure a non-root public URL by running `npm run build`.
-->

<!-- Including the bootstrap css via CDN -->
<link
rel="stylesheet"
href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css"
integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk"
crossorigin="anonymous"
/>

<link href="https://fonts.googleapis.com/css2?family=Lato&family=Open+Sans&display=swap" rel="stylesheet">

<title>React App</title>
</head>
<body>
Expand All @@ -36,5 +47,6 @@
To begin the development, run `npm start` or `yarn start`.
To create a production bundle, use `npm run build` or `yarn build`.
-->

</body>
</html>
95 changes: 81 additions & 14 deletions src/App.css
Original file line number Diff line number Diff line change
@@ -1,28 +1,95 @@
/* app */

.App {
text-align: center;
}

.App-logo {
animation: App-logo-spin infinite 20s linear;
height: 80px;
html {
position: relative;
min-height: 100%;
}

body {
margin-bottom: 5em;
}

.container {
text-align: center;
}

h1 {
margin-bottom: 1em;
}

input {
margin-bottom: 2em;
}

.App-header {
background-color: #222;
height: 150px;
padding: 20px;
ul {
list-style: none;
margin: 0;
padding: 0;
padding-bottom: 1em;
}

/* nav */

.nav-item {
color: white;
padding-left: 1em;
}

.App-title {
font-size: 1.5em;
/* movies */

.movielist {

}

.flex-container {
display: flex;
flex-wrap: wrap;
justify-content: center;
}

.movie-card {
margin-bottom: 4em;
width: 200px;
padding-bottom: 2.5em;
text-align: center;
position: relative;
}

.movie-card button {
position: absolute;
bottom: 0;
right: 40px;
}

.App-intro {
font-size: large;
.movie-image {
border: 1px solid #ddd;
border-radius: 4px;
margin: 5px;
width: 150px;
}

@keyframes App-logo-spin {
from { transform: rotate(0deg); }
to { transform: rotate(360deg); }
.release-year {
text-align: center
}

/* Footer */

footer {
margin-top: 20rem;
padding-top: 2rem;
padding-bottom: 1rem;
width: 100%;
background-color: #353a40;
color: #fff;
/* TODO: get footer to stick to bottom of window */
position: absolute;
bottom: 0;
}

.copyright p {
text-align: center;
}
Loading