diff --git a/.github/pull_request_template2.md b/.github/pull_request_template2.md new file mode 100644 index 0000000000..9210f13e66 --- /dev/null +++ b/.github/pull_request_template2.md @@ -0,0 +1,33 @@ +## ๐ŸŽฏ ๋ฏธ์…˜ ์†Œ๊ฐœ + +- API ์—ฐ๋™์„ ํ†ตํ•œ ๋น„๋™๊ธฐ ํ†ต์‹  ํ•™์Šต +- ์‚ฌ์šฉ์ž ์‹œ๋‚˜๋ฆฌ์˜ค ๊ธฐ๋ฐ˜ E2E ํ…Œ์ŠคํŠธ + +--- + +## ๐Ÿ•ต๏ธ ์…€ํ”„ ๋ฆฌ๋ทฐ(Self-Review) + +### ์ œ์ถœ ์ „ ์ฒดํฌ ๋ฆฌ์ŠคํŠธ + +- [x] ๊ธฐ๋Šฅ ์š”๊ตฌ ์‚ฌํ•ญ์„ ๋ชจ๋‘ ๊ตฌํ˜„ํ–ˆ๊ณ , ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ํ•˜๋Š”์ง€ ํ™•์ธํ–ˆ๋‚˜์š”? +- [x] ๊ธฐ๋ณธ์ ์ธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์š”๊ตฌ ์‚ฌํ•ญ(์ฝ”๋“œ ์ปจ๋ฒค์…˜, ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๋“ฑ)์„ ์ค€์ˆ˜ํ–ˆ๋‚˜์š”? +- [ ] ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋Š” ๋ชจ๋‘ ์ •์ƒ์ ์œผ๋กœ ์‹คํ–‰๋˜๋‚˜์š”? (ํ•„์š” ์‹œ, API Mocking ๋“ฑ) +- [ ] (ํ•ด๋‹นํ•˜๋Š” ๊ฒฝ์šฐ) ๋ฐฐํฌํ•œ ๋ฐ๋ชจ ํŽ˜์ด์ง€์— ์ •์ƒ์ ์œผ๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‚˜์š”? + - (ํ•ด๋‹นํ•˜๋Š” ๊ฒฝ์šฐ) ๋ฐฐํฌ ๋งํฌ ๊ธฐ์ž…: \***\*\_\_\*\*** + +### ๋ฆฌ๋ทฐ ์š”์ฒญ & ๋…ผ์˜ํ•˜๊ณ  ์‹ถ์€ ๋‚ด์šฉ + +#### 1) ์ด๋ฒˆ ๋‹จ๊ณ„์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ๊ณ ๋ฏผํ–ˆ๋˜ ๋ฌธ์ œ์™€ ํ•ด๊ฒฐ ๊ณผ์ •์—์„œ ๋ฐฐ์šด ์  + +#### 2) ์ด๋ฒˆ ๋ฆฌ๋ทฐ๋ฅผ ํ†ตํ•ด ๋…ผ์˜ํ•˜๊ณ  ์‹ถ์€ ๋ถ€๋ถ„ + +--- + +## โœ… ๋ฆฌ๋ทฐ์–ด ์ฒดํฌ ํฌ์ธํŠธ + + + +- [ ] ๋น„๋™๊ธฐ ํ†ต์‹  ๊ณผ์ •์—์„œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์˜ˆ์™ธ(๋„คํŠธ์›Œํฌ, ์„œ๋ฒ„ ์˜ค๋ฅ˜ ๋“ฑ)๋ฅผ ๊ณ ๋ คํ–ˆ๋Š”๊ฐ€? +- [ ] ๋น„๋™๊ธฐ ๋กœ์ง์—์„œ ์ฝœ๋ฐฑ ์ง€์˜ฅ ์—†์ด, ์ ์ ˆํžˆ async/await ๋˜๋Š” Promise๋ฅผ ํ™œ์šฉํ–ˆ๋Š”๊ฐ€? +- [ ] ์—ญํ• ๊ณผ ์ฑ…์ž„์— ๋”ฐ๋ผ ํŒŒ์ผ/๋ชจ๋“ˆ์„ ๋ถ„๋ฆฌํ–ˆ๋Š”๊ฐ€? (UI, ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง, API ํ˜ธ์ถœ ๋“ฑ) diff --git a/README2.md b/README2.md new file mode 100644 index 0000000000..a322e0b077 --- /dev/null +++ b/README2.md @@ -0,0 +1,43 @@ +# javascript-movie-review + +FE ๋ ˆ๋ฒจ1 ์˜ํ™” ๋ฆฌ๋ทฐ ๋ฏธ์…˜ 2๋‹จ๊ณ„ + +## ๊ธฐ๋Šฅ ์š”๊ตฌ ์‚ฌํ•ญ +### ๋”๋ณด๊ธฐ ๋ฒ„ํŠผ ๋ฌดํ•œ์Šคํฌ๋กค๋กœ ๋ณ€๊ฒฝ +- [x] ๊ธฐ์กด ๋”๋ณด๊ธฐ ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ์˜ํ™”๋ชฉ๋ก์„ ํ˜ธ์ถœํ•˜๋˜ ์กฐ๊ฑด์„ ํ™”๋ฉด ๋งจ ์•„๋ž˜๋กœ ๋‚ด๋ ค์™”์„ ๋•Œ๋กœ ๋ณ€๊ฒฝ + +### ์˜ํ™” ์ƒ์„ธ์ •๋ณด ์กฐํšŒ +- [x] ์ž์„ธํžˆ ๋ณด๊ธฐ ํด๋ฆญ ์‹œ ์ถœ๋ ฅ +- [x] ์˜ํ™” ์„ฌ๋„ค์ผ ํด๋ฆญ ์‹œ ์ถœ๋ ฅ +- [x] ์ƒ์„ธ ์ •๋ณด ๋กœ๋”ฉ ์ค‘ ์Šค์ผˆ๋ ˆํ†ค ์ฒ˜๋ฆฌ +- [x] ๋ชจ๋‹ฌ ์ฐฝ ๋‹ซ๊ธฐ ๊ธฐ๋Šฅ + - [x] X ํ‚ค + - [x] esc ํ‚ค + - [x] ๋ชจ๋‹ฌ ์ฐฝ ๋ฐ”๊นฅ ํด๋ฆญ +- ์ถœ๋ ฅํ•  ๋‚ด์šฉ + - [x] ์˜ํ™” ํฌ์Šคํ„ฐ + - [x] ์˜ํ™” ์ œ๋ชฉ + - [x] ์—ฐ๋„ + - [x] ์žฅ๋ฅด + - [x] ํ‰๊ท  ๋ณ„์  + - [x] ๋‚ด ๋ณ„์  (๋ณ„์  ๊ทธ๋ฆผ + ๋ณ„์ ์— ๋”ฐ๋ฅธ ์„ค๋ช… + (8/10)๊ณผ ๊ฐ™์€ ๋ณ„์  ์ˆ˜์น˜ํ™”) + - [x] ์ค„๊ฑฐ๋ฆฌ +- [x] API ์—๋Ÿฌ ์ฒ˜๋ฆฌ + +### UI/UX ๊ฐœ์„  +- [x] ๋ฐ˜์‘ํ˜• ์›น์„ ๊ตฌ์ƒํ•˜์—ฌ ๋””๋ฐ”์ด์Šค์˜ ๋„ˆ๋น„์— ๋”ฐ๋ผ ๋ ˆ์ด์•„์›ƒ์ด ์กฐ์ ˆ๋˜๋„๋ก ๋ณ€๊ฒฝ + - [x] ๋„ˆ๋น„์— ๋”ฐ๋ผ ์˜ํ™” ์ถœ๋ ฅ ๊ฐฏ์ˆ˜ ๋ฐ˜์‘ํ˜•์œผ๋กœ ๋ณ€๊ฒฝ + - [x] ๋ชจ๋‹ฌ ์ฐฝ ๋ฐ์Šคํฌํ†ฐ์€ ์ค‘์•™ ์ถœ๋ ฅ, ํƒœ๋ธ”๋ฆฟ์ด๋‚˜ ๋ชจ๋ฐ”์ผ์€ ํ•˜๋‹จ ์ถœ๋ ฅ์œผ๋กœ ์ œ์ž‘ + - [x] ์ž์„ธํžˆ ๋ณด๊ธฐ ์ฐฝ์—์„œ ํ™”๋ฉด์ด ๋„ˆ๋ฌด ์ž‘์œผ๋ฉด ํฌ์Šคํ„ฐ ์ถœ๋ ฅ x + +### ๋ณ„์  ๋งค๊ธฐ๊ธฐ ๊ธฐ๋Šฅ +- [x] 2์  ๋‹จ์œ„์˜ ๋ณ„์  ๋งค๊ธฐ๊ธฐ ๊ธฐ๋Šฅ + - [x] ์ƒˆ๋กœ๊ณ ์นจํ•ด๋„ ๋ณ„์  ์œ ์ง€ + - [x] ๋ณ„์  UI ํ˜ธ๋ฒ„, ํด๋ฆญ ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ + - [x] ์ƒˆ๋กœ ์ž…๋ ฅ๋ฐ›์€ ๋ณ„์  ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ธํ™”๋ฉด์— ๋ฐ˜์˜ +- [x] ๋กœ์ปฌ ์Šคํ† ๋ฆฌ์ง€ ๋ฐ ์„œ๋ฒ„API๋กœ ์‰ฝ๊ณ  ์•ˆ์ „ํ•˜๊ฒŒ ๊ฐˆ์•„๋ผ์šธ ์ˆ˜ ์žˆ๋Š” ๊ตฌ์กฐ๋กœ ์ œ์ž‘ + +### E2E ํ…Œ์ŠคํŠธ +- [x] ๋ฌดํ•œ ์Šคํฌ๋กค ๋™์ž‘ ํ…Œ์ŠคํŠธ +- [x] ์ƒ์„ธ ์ •๋ณด ๋ชจ๋‹ฌ ์—ฌ๋‹ซ๊ธฐ ํ…Œ์ŠคํŠธ +- [x] ๋ณ„์  ํ‰๊ฐ€, ๋ฐ˜์˜, ์ƒˆ๋กœ๊ณ ์นจ ์‹œ ๋ฐ์ดํ„ฐ ์œ ์ง€ ํ…Œ์ŠคํŠธ \ No newline at end of file diff --git a/cypress/e2e/movie.cy.ts b/cypress/e2e/movie.cy.ts new file mode 100644 index 0000000000..bd337aefb3 --- /dev/null +++ b/cypress/e2e/movie.cy.ts @@ -0,0 +1,117 @@ +describe('์˜ํ™” ๋ฆฌ๋ทฐ step2 ํ…Œ์ŠคํŠธ', () => { + beforeEach(() => { + // ์ธ๊ธฐ ์˜ํ™” ๋ชฉ๋ก API ๊ฐ€๋กœ์ฑ„๊ธฐ + cy.intercept('GET', '**/movie/popular*', { + fixture: 'popularMovies.json', + }).as('getPopularMovies'); + + // ์˜ํ™” ์ƒ์„ธ ์ •๋ณด API๋ฅผ ๊ฐ€๋กœ์ฑ„๊ธฐ + cy.intercept('GET', /\/movie\/\d+/, { + fixture: 'movieDetail.json', + }).as('getMovieDetail'); + + cy.visit('/'); + + cy.wait('@getPopularMovies'); + }); + + describe('๋ฌดํ•œ ์Šคํฌ๋กค ๋™์ž‘ ํ…Œ์ŠคํŠธ', () => { + it('ํ™”๋ฉด์„ ๋๊นŒ์ง€ ์Šคํฌ๋กคํ•˜๋ฉด ์ƒˆ๋กœ์šด ์˜ํ™” ๋ชฉ๋ก์ด ์ถ”๊ฐ€๋กœ ๋กœ๋“œ๋œ๋‹ค.', () => { + // ๋ Œ๋”๋ง๋œ ์˜ํ™” ์•„์ดํ…œ ๊ฐœ์ˆ˜ ์ €์žฅ + cy.get('.thumbnail-list .movie-item').then(($items) => { + const initialCount = $items.length; + + // ๋ฐ”๋‹ฅ์œผ๋กœ ์Šคํฌ๋กคํ•˜์—ฌ ๋” ๋ณด๊ธฐ ํŠธ๋ฆฌ๊ฑฐ + cy.scrollTo('bottom'); + + // ๋ Œ๋”๋ง ๋Œ€๊ธฐ + cy.wait('@getPopularMovies'); + + // ์˜ํ™” ์•„์ดํ…œ ๊ฐœ์ˆ˜๊ฐ€ ๋Š˜์–ด๋‚ฌ๋Š”์ง€ ๊ฒ€์ฆ + cy.get('.thumbnail-list .movie-item') + .should('have.length.greaterThan', initialCount); + }); + }); + }); + + describe('์ƒ์„ธ ์ •๋ณด ๋ชจ๋‹ฌ ์—ฌ๋‹ซ๊ธฐ ํ…Œ์ŠคํŠธ', () => { + // ํด๋ฆญ ํ™•์ธ + it('์˜ํ™” ํด๋ฆญ ์‹œ ๋ชจ๋‹ฌ์ด ์—ด๋ฆฌ๊ณ , ๋‹ซ๊ธฐ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ๋ชจ๋‹ฌ์ด ๋‹ซํžŒ๋‹ค.', () => { + // ์ฒซ ๋ฒˆ์งธ ์˜ํ™” ์•„์ดํ…œ ํด๋ฆญ + cy.get('.thumbnail-list .movie-item').first().click(); + + // ๋ชจ๋‹ฌ ๋ฐ์ดํ„ฐ ์‘๋‹ต ๋Œ€๊ธฐ + cy.wait('@getMovieDetail'); + + // ๋ชจ๋‹ฌ์ด ํ™œ์„ฑํ™”๋˜์—ˆ๋Š”์ง€ ํ™•์ธ (active ํด๋ž˜์Šค ๋ฐ ํ™”๋ฉด๋…ธ์ถœ) + cy.get('#modalBackground').should('have.class', 'active'); + cy.get('#modalContainer').should('be.visible'); + + // ๋‹ซ๊ธฐ ๋ฒ„ํŠผ ํด๋ฆญ + cy.get('#closeModal').click(); + + // ๋ชจ๋‹ฌ์ด ์ •์ƒ์ ์œผ๋กœ ๋‹ซํ˜”๋Š”์ง€ ํ™•์ธ + cy.get('#modalBackground').should('not.have.class', 'active'); + }); + + // ๋ฐฐ๊ฒฝํด๋ฆญ ํ™•์ธ + it('๋ชจ๋‹ฌ ๋ฐฐ๊ฒฝ์„ ํด๋ฆญํ•ด๋„ ๋ชจ๋‹ฌ์ด ๋‹ซํžŒ๋‹ค.', () => { + cy.get('.thumbnail-list .movie-item').first().click(); + + // ๋ฐฐ๊ฒฝ ์˜์—ญ ํด๋ฆญ + cy.get('#modalBackground').click('topLeft', { force: true }); + + cy.get('#modalBackground').should('not.have.class', 'active'); + }); + + // ESCํ‚ค ํ™•์ธ + it('ESC ํ‚ค๋ฅผ ๋ˆ„๋ฅด๋ฉด ๋ชจ๋‹ฌ์ด ๋‹ซํžŒ๋‹ค.', () => { + cy.get('.thumbnail-list .movie-item').first().click(); + cy.get('#modalBackground').should('have.class', 'active'); + + // body ํƒœ๊ทธ์— ๋Œ€๊ณ  ESC ํ‚ค ์ž…๋ ฅ ์ด๋ฒคํŠธ ๋ฐœ์ƒ + cy.get('body').type('{esc}'); + + // ๋ชจ๋‹ฌ์ด ์ •์ƒ์ ์œผ๋กœ ๋‹ซํ˜”๋Š”์ง€ ํ™•์ธ + cy.get('#modalBackground').should('not.have.class', 'active'); + }); + }); + + describe('๋ณ„์  ํ‰๊ฐ€ ๋ฐ ๋ฐ์ดํ„ฐ ์œ ์ง€ ํ…Œ์ŠคํŠธ', () => { + it('๋ณ„์ ์„ ์„ ํƒํ•˜๋ฉด ๋ฐ˜์˜๋˜๊ณ , ์ƒˆ๋กœ๊ณ ์นจ ํ›„์—๋„ ํ•ด๋‹น ์ ์ˆ˜๊ฐ€ ์œ ์ง€๋œ๋‹ค.', () => { + const TARGET_SCORE = 8; + const RATING_TEXT = '์žฌ๋ฏธ์žˆ์–ด์š”'; + + // ๋ชจ๋‹ฌ ์—ด๊ธฐ + cy.get('.thumbnail-list .movie-item').first().click(); + + // 8์  ํด๋ฆญ + cy.get(`.rate-star-img[data-score="${TARGET_SCORE}"]`).click(); + + // UI์— ํ‰๊ฐ€ ๋ฌธ๊ตฌ์™€ ์ ์ˆ˜๊ฐ€ ๋ฐ˜์˜๋˜์—ˆ๋Š”์ง€ ํ™•์ธ + cy.get('#ratingDescription') + .should('contain.text', RATING_TEXT) + .and('contain.text', `(${TARGET_SCORE}/10)`); + + // ๋ชจ๋‹ฌ ๋‹ซ๊ธฐ + cy.get('#closeModal').click(); + + // ํŽ˜์ด์ง€ ์ƒˆ๋กœ๊ณ ์นจ + cy.reload(); + cy.wait('@getPopularMovies'); + + // ๋™์ผํ•œ ์˜ํ™”์˜ ๋ชจ๋‹ฌ์„ ๋‹ค์‹œ ์—ด๊ธฐ + cy.get('.thumbnail-list .movie-item').first().click(); + + // LocalStorage์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ž˜ ๊ฐ€์ ธ์™€์„œ ์ด์ „ ์ ์ˆ˜๊ฐ€ ๊ทธ๋Œ€๋กœ ํ‘œ์‹œ๋˜๋Š”์ง€ ํ™•์ธ + cy.get('#ratingDescription') + .should('contain.text', RATING_TEXT) + .and('contain.text', `(${TARGET_SCORE}/10)`); + + // ๋ณ„ ์ด๋ฏธ์ง€ ์†Œ์Šค๋„ ์ฑ„์›Œ์ง„ ๋ณ„(star_filled)์ธ์ง€ ํ™•์ธ (์ฒซ ๋ฒˆ์งธ ๋ณ„์  ์˜ˆ์‹œ) + cy.get(`.rate-star-img[data-score="2"]`) + .should('have.attr', 'src') + .and('include', 'star_filled'); + }); + }); +}); \ No newline at end of file diff --git a/cypress/e2e/spec.cy.ts b/cypress/e2e/spec.cy.ts index 34fbd142fa..f07a861675 100644 --- a/cypress/e2e/spec.cy.ts +++ b/cypress/e2e/spec.cy.ts @@ -41,16 +41,16 @@ describe('์˜ํ™” ๋ฆฌ๋ทฐ ์•ฑ E2E ํ…Œ์ŠคํŠธ', () => { cy.get('.thumbnail-list > li').should('have.length', 20); }); - it('๋”๋ณด๊ธฐ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ๋‹ค์Œ ํŽ˜์ด์ง€์˜ ์˜ํ™” 20๊ฐœ๋ฅผ ์ถ”๊ฐ€๋กœ ๋ Œ๋”๋งํ•œ๋‹ค.', () => { - cy.visit('/'); - cy.wait('@getPopularMovies'); + // it('๋”๋ณด๊ธฐ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ๋‹ค์Œ ํŽ˜์ด์ง€์˜ ์˜ํ™” 20๊ฐœ๋ฅผ ์ถ”๊ฐ€๋กœ ๋ Œ๋”๋งํ•œ๋‹ค.', () => { + // cy.visit('/'); + // cy.wait('@getPopularMovies'); - cy.get('#more-page-button').click(); - cy.wait('@getNextPopularMovies'); + // cy.get('#more-page-button').click(); + // cy.wait('@getNextPopularMovies'); - // ๊ธฐ์กด 20๊ฐœ + ์ถ”๊ฐ€ 20๊ฐœ = 40๊ฐœ - cy.get('.thumbnail-list > li').should('have.length', 40); - }); + // // ๊ธฐ์กด 20๊ฐœ + ์ถ”๊ฐ€ 20๊ฐœ = 40๊ฐœ + // cy.get('.thumbnail-list > li').should('have.length', 40); + // }); }); context('2. ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ', () => { diff --git a/cypress/fixtures/movieDetail.json b/cypress/fixtures/movieDetail.json new file mode 100644 index 0000000000..70a933f838 --- /dev/null +++ b/cypress/fixtures/movieDetail.json @@ -0,0 +1,26 @@ +{ + "id": 1022789, + "title": "์ธ์‚ฌ์ด๋“œ ์•„์›ƒ 2", + "poster_path": "/vpnVM9B6NMmQpWeZvzRxHXlNpzT.jpg", + "release_date": "2024-06-12", + "genres": [ + { + "id": 16, + "name": "์• ๋‹ˆ๋ฉ”์ด์…˜" + }, + { + "id": 10751, + "name": "๊ฐ€์กฑ" + }, + { + "id": 12, + "name": "๋ชจํ—˜" + }, + { + "id": 35, + "name": "์ฝ”๋ฏธ๋””" + } + ], + "vote_average": 8.5, + "overview": "13์‚ด์ด ๋œ ๋ผ์ผ๋ฆฌ์˜ ๋จธ๋ฆฟ์† ๊ฐ์ • ์ปจํŠธ๋กค ๋ณธ๋ถ€์— ๋ถˆ์•ˆ, ๋‹นํ™ฉ, ๋”ฐ๋ถ„, ๋ถ€๋Ÿฝ์˜ ๋‚ฏ์„  ๊ฐ์ •๋“ค์ด ์ƒˆ๋กญ๊ฒŒ ๋“ฑ์žฅํ•˜๋ฉด์„œ ํ‰ํ™”๋กญ๋˜ ์ผ์ƒ์ด ๊นจ์ง€๊ณ  ๋‹ค์‹œ ์‹œ์ž‘๋œ ์œ„๊ธฐ์™€ ๋ชจํ—˜์„ ๋‹ค๋ฃฌ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์˜ํ™”" +} diff --git a/cypress/fixtures/popularMovies.json b/cypress/fixtures/popularMovies.json new file mode 100644 index 0000000000..1c0a9c9dbf --- /dev/null +++ b/cypress/fixtures/popularMovies.json @@ -0,0 +1,41 @@ +{ + "page": 1, + "results": [ + { + "id": 1022789, + "title": "์ธ์‚ฌ์ด๋“œ ์•„์›ƒ 2", + "poster_path": "/vpnVM9B6NMmQpWeZvzRxHXlNpzT.jpg", + "backdrop_path": "/stKGOm8UyhuLPR9sLsGAXo0I94w.jpg", + "vote_average": 8.5 + }, + { + "id": 533535, + "title": "๋ฐ๋“œํ’€๊ณผ ์šธ๋ฒ„๋ฆฐ", + "poster_path": "/8cdWjvZQUExUUTzyp4t6EDMubfO.jpg", + "backdrop_path": "/yDHYTfA3R0jFYba16ZBRWUP1lNl.jpg", + "vote_average": 7.9 + }, + { + "id": 1029528, + "title": "์Šˆํผ๋ฐฐ๋“œ 4", + "poster_path": "/3w84hCFJATpiCO5g8hpdWVPBcbF.jpg", + "backdrop_path": "/lgkPzcOSnTvjeMnuFzozRO5HHw1.jpg", + "vote_average": 7.4 + }, + { + "id": 653346, + "title": "ํ˜น์„ฑํƒˆ์ถœ: ์ƒˆ๋กœ์šด ์‹œ๋Œ€", + "poster_path": "/fQZ5o2eY9KusVq6qO2o1EudV9Iq.jpg", + "backdrop_path": "/fqv8v6AycXKsivp1T5yKtLbGXce.jpg", + "vote_average": 6.9 + }, + { + "id": 748783, + "title": "๊ฐ€ํ•„๋“œ ๋” ๋ฌด๋น„", + "poster_path": "/a0A9YlRhaV7Z1rA0N6P4qF8w3rO.jpg", + "backdrop_path": "/xg27NrZaAKk4pM1r7K531Qk7u0D.jpg", + "vote_average": 7.1 + } + ], + "total_pages": 100 +} diff --git a/images/logo.png b/images/logo.png new file mode 100644 index 0000000000..d8476f93ed Binary files /dev/null and b/images/logo.png differ diff --git a/images/modal_button_close.png b/images/modal_button_close.png new file mode 100644 index 0000000000..b352a220dc Binary files /dev/null and b/images/modal_button_close.png differ diff --git a/images/star_empty.png b/images/star_empty.png new file mode 100644 index 0000000000..bf32725179 Binary files /dev/null and b/images/star_empty.png differ diff --git a/images/star_filled.png b/images/star_filled.png new file mode 100644 index 0000000000..5b6f299937 Binary files /dev/null and b/images/star_filled.png differ diff --git a/images/woowacourse_logo.png b/images/woowacourse_logo.png new file mode 100644 index 0000000000..e64c002e12 Binary files /dev/null and b/images/woowacourse_logo.png differ diff --git a/index.html b/index.html index 4186769bc3..1c86c6e1d5 100644 --- a/index.html +++ b/index.html @@ -9,6 +9,7 @@ + @@ -16,13 +17,26 @@
-
+ +

- MovieList + MovieList

+ +
+ +
- ๋ณ„์  + ๋ณ„์  9.5
์ธ์‚ฌ์ด๋“œ ์•„์›ƒ2
@@ -30,16 +44,6 @@

- -
@@ -51,6 +55,17 @@

์ง€๊ธˆ ์ธ๊ธฐ ์žˆ๋Š” ์˜ํ™”

+ +