Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

TV Show Project Level 200: Swap Codebases

Đang mở
#476 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
35/100
Loại issue
Tính năng
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
javascript
Lĩnh vực
frontend

Hướng nghiên cứu

Bắt đầu bằng cách clone repository Project-TV-Show của partner và xem xét implementation level 100 của repository đó trước khi thực hiện các thay đổi refactoring. Sau đó triển khai chức năng tìm kiếm episode trực tiếp và bộ chọn episode được mô tả trong issue, đồng thời xác minh rằng số lượng kết quả khớp, việc lọc không phân biệt chữ hoa chữ thường, việc xóa tìm kiếm và việc chọn một episode đều hoạt động trước khi mở một pull request để partner review.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

🏕 Priority Mandatory 📅 Sprint 2 Core Submit:None

Level 200

For level 200, you are not allowed to work on the same codebase as you worked on for level 100.

Swap repos with a random person in your class. You may find it helpful to do this first step together:

  1. Go to your copy of Project-TV-Show and click on the setting
  2. Go to the "collaborators" section
  3. Next "manage access", click "add people"
  4. Type the username your partner
  5. Click the green add button
  6. Visit the URL for your partner's project and accept the invitation to collaborate / check your email for the invite link
  7. Clone your partner's repository to your laptop, you will need to give it a different name, such as Project-TV-Show-THEIR_NAME

Now, work individually to complete level 200:

Look at their level 100 implementation.

Compare their implementation to yours. Think:

  1. How is it different?
  2. What do you prefer about your implementation?
  3. What do you prefer about their implementation?
  4. What did you learn that you didn't know before?

They should do the same with your repository.

Have a discussion about your answers to these questions. In class, together you should give talk for 5 minutes about your conclusions. (Do this in small groups - we don't want to take all day).

Refactoring

Before implementing new features, take some time to change the codebase you're going to build level 200 in. Change anything you think will make it easier to add more features.

Some example ideas that you may want to think about:

  1. Could any variables or functions have more clear names, to help you understand what they do?
  2. Would extracting functions help make some code easier to understand?

Work in a new branch on your partner's repo, making any changes you think are useful.
Then make a pull request to your partner's main branch (take care not to PR to the CYF main branch yet).
Have them review, and when happy, merge your PR.

Git branch diagram for level200

Select the partner repo in the dropdown when making a PR for level200

Adding new functionality

Level 200 is all about being able to filter episodes.

Search

Add a live search input which meets the following requirements:

When a user types a search term into the search box:

  1. Only episodes whose summary OR name contains the search term should be displayed
  2. The search should be case-insensitive
  3. The display should update immediately after each keystroke changes the input
  4. Display how many episodes match the current search
  5. If the search box is cleared, all episodes should be shown

Send a pull request to your partner's repo with this functionality. Have them review, and when happy, merge your PR.

Screenshot of minimal version

Note: Provided your project meets the above requirements, it can look however you want.

Here is one example layout.

Screenshot of a website with a search term entered in the search box, and only matching episodes shown

Episode selector

Add a select drop-down which lets the user jump quickly to a particular episode, with the following requirements:

  1. The select input should list all episodes in the format: "S01E01 - Winter is Coming"
  2. When the user makes a selection, they should be taken directly to that episode in the list
  3. Bonus: if you prefer, when the select is used, ONLY show the selected episode. If you do this, be sure to provide a way for the user to see all episodes again.

Send a pull request to your partner's repo with this functionality. Have them review, and when happy, merge your PR.

Screenshot of minimal version

Note: Provided your project meets the above requirements, it can look however you want.

Here is one example layout.

Screenshot of a website with a drop-down listing all available episodes

Ngôn ngữ chính
JavaScript
Star
0
Fork
276
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của CodeYourFuture/Module-Data-Flows

Tất cả issue của CodeYourFuture/Module-Data-Flows

Issue tương tự

Thêm issue về JavaScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.