Code Monkey home page Code Monkey logo

curated-tv-and-film's Introduction

curated-tv-and-film


Status GitHub Issues GitHub Pull Requests License github-actions contributions welcome


The purpose of the project is to show a curated list of Modern TV shows or Films, where iconic scenes that include speeches, action scenes, classic quotes, etc.

๐Ÿ“ Table of Contents

๐Ÿง About

The purpose of the project is to show a curated list of Modern TV shows or Films, where iconic scenes that include speeches, action scenes, classic quotes, etc. These can all be viewed easily and quickly to help in reference. Especially useful in arguments.

These scenes are carefully picked out moments, ignoring bias of any opinions or beliefs. So please be aware that because of this, certain links may cause offense.

๐Ÿ Getting Started

To get started clone this repository or fork it. To clone follow this command

git clone https://github.com/lmcjt37/curated-tv-and-film.git

Install dependencies

yarn install

๐ŸŽˆ Usage

After cloning this repository and installing it's dpendencies, you can start the local development server by running the following command

yarn start

The webpage will open automatically, otherwise navigate to http://localhost:3000/ in your browser.

Hot Module reload causes the server to automatically detect file changes and reload the project.

๐Ÿ”ง Running the tests

Jest

Tests are found in ./src/__tests__ and to run tests across the project use the following command:

yarn test

Tests are also run on a pre-commit hook to make sure tests are updated along with commits and don't break the build.

To know more about testing go to MORE

Snapshots

Along with the Jest tests are snapshots. These are essentially for UI testing how your components are rendered. Any unexpected changes to your components will cause the snapshot tests to fail.

Provided that the components have been rendered correctly, you can fix and update the snapshot tests by pressing 'u' whilst the watch mode is being run. This will then update and re-run the tests to show you the passing state of your tests.

Prettier linting

The JavaScript files can be prettyfied using Prettier with the following command:

yarn lint

Configuration for Prettier is found in .prettierrc.

The project also has pre-commit hooks for when code is commited to your local branches that will trigger this linting across the project.

๐Ÿš€ Deployment

This site is deployed at GitHub Pages - https://lmcjt37.github.io/curated-tv-and-film/

โ›๏ธ Built Using

โœ๏ธ Authors

Visit here for contributors list - Contributors

Contribution

Feel free to contribute by reading the guidelines - Contributing

๐ŸŽ‰ Acknowledgements

This site is built with a number of tools, the main one being Create React App.

It is themed with Material UI, React components that implement Google's Material Design.

Images are sourced via search engines and are not owned by this site.

This site is not endorsed by or affiliated with IMDB.

Further help in running the project here

curated-tv-and-film's People

Contributors

berksaribas avatar comets1 avatar danielandro avatar davidlamt avatar diddy225 avatar eliotw avatar erangaheshan avatar fallen-ecstasy avatar giulianovarriale avatar harleo avatar isaniomoraes avatar izanf avatar jamil-tlbwork avatar jason1985 avatar jeff-duke avatar juni4567 avatar kamaldlk avatar kelvin-mai avatar kndarp avatar leeconnelly12 avatar lmcjt37 avatar lucianomlima avatar maniacalbilby avatar mehdithefork avatar nemanjaglumac avatar noeltom787 avatar oliver-gomes avatar ratatatcat avatar surmistry avatar yamilurbina avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

curated-tv-and-film's Issues

New suggested TV scenes

Create PRs for any suggested TV show or series scenes which are considered, in your opinion, a should watch

Image URL's not resolving

With the change made to make the images static assets, the references are incorrect when deployed and therefore not resolving to appear on the production page.

QA | Improve tests

The tests use Jest.

Currently only the simplest App.js test exists from boilerplate CRA.

Would be good to improve tests throughout.

Change filter input type

The filter selection should be swapped from a checkbox to radio buttons.

This will allow you to select one option at a time, and prevent there from being no content on the screen.

When movies filter is selected it should still show the year selection.

Poor image rendering

The images are slow to load on both mobile and desktop.

The images need resizing and compressing so that it will improve load times.

QA | Add 'Testing' section

Following improvements from #20, it would make sense to add a section on how you can run tests if you want to also improve these during development.

Add Circle CI config

Add config for running Circle CI.

Steps required:

  • Run tests
  • Build for production
  • Deploy to Github pages

Docs | Acknowledgements

The information comes from IMDB and Youtube typically, so we should have an 'Acknowledgements' section in the readme.

We could also add a link in the page footer to this section.

Better image assets

Most of the current images show black letter boxing.

These should be replaced with better images for the respective show or film.

Tech | Alphabetise content

A new sort filter has been added, but the content should probably start off alphabetised correctly anyway.

Maybe a script could be created to be added to a process. The script would use the same implementation as what is defined for the sorting method.

Show/hide search | mobile

Similar to #138 where we are trying to improve the layout of the header for mobile.

If we can show/hide the search by initially only showing a magnifying icon, then upon selection animating the input into visibility.

This is a simple example - https://codepen.io/CBeghin/pen/HeuiF

If you feel that the design could be improved as a whole then I would suggest one of the following instead - https://tympanus.net/Development/SearchUIEffects/index9.html (This was my favourite)

Fix header clearance

The header clearance isn't perfect for desktop or mobile.

Too much whitespace on desktop between header and first image.

Header overlaps first image on mobile.

Scroll animation

When you click on the header title, the scroll to top just jumps there which is clunky.

An easing should be applied to smooth this out.

Update all image URLs

Change all image URLs to static assets so that we gain uniformity.

This will enable us to have more recognisable images from each of the entries to make it easier to find what you want.

[Tech] Add suggestions

An additional feature of the app could be to list suggestive titles.

How this would work needs defining, as we filter the list as you type. But this feature could require you to commit a search to allow it to work.

Otherwise another solution would be to add suggestions in the content for each title.

Example: https://tastedive.com/

Add 'getting started' section

The Readme is missing a 'getting started' section to help new users get up and running with the development of this project.

Remove search ability for description

The search should be restricted to only the title.

Adding the description seemed like a good idea at the time but the search becomes too ambiguous. Also, would you know what is written in the descriptions you are looking for anyway as the content is uniquely added?

Year could be added to the search as a sub-task.

Component-ise the project

Breakdown the project into components for easier visibility.

Starting areas:

  • Header
  • Footer
  • Item cards

Fix year filter

When you remove tv shows in the filters, a year input is revealed.

This doesn't work.

Introduce filtering

Add the ability to filter the library by various criteria.

Some example criteria: tv/film, year, animated, action.

May require tag types to be added to the content.js.

Logo design

A simple logo which can be added to the header, repo and favicon.

No content removes search functionality

If you reach a message 'No search result' this affects the content stored in state so that it's not searchable.

At this point, if you delete characters from your search. This isn't reflected in the search results.

Introduce a footer

Adding a footer to the bottom of the page to show some meta.

  • Link back to this github repository
  • Build version (This will mean that new PR's will require updates to the versions/ a build number increment will be needed in the future)
  • link to contributors list

Improve information displayed for TV/Film

There appears to be a lot of white space around the TV and Film sections.

Could do with either changing the placement of how information is shown or adding more information.

Add missing viewport meta

Add viewport to prevent scaling and zooming when viewing app on mobile.

From memory this is all that's needed and can simply be added to the index.html

<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />

Usage of logo

Previous PR's have added assets for use in the project.

These need implementing in the readme, header and favicon.

Show/hide filters on mobile

Header section takes up quite a lot of space when showing the title, search and filters.

Adding a dropdown for the filters would free up some space and you can show only when needed.

Improve UI/UX

The web app is currently very simple and could do with a facelift to make it more friendly.

Some suggestive tasks:

  • Add improved styling to the page
  • Better Font
  • Filter list (years, tv/film, animated, etc)

Fix image ref

Fix the image reference for "How I met you mother" as seen below.

screen shot 2018-10-26 at 12 59 07 pm

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.