Giter Club home page Giter Club logo

gsiv_amarjeet_mudhar's Introduction

How to run it

npm install

npm start

What I've used and how things could be further improved

By default home screen shows upcoming movies as you scroll down there is show more button. With more time based on the state of window the need of that button can also be removed. When your search it'll show the related search results and if search field is emptied it reverts back to showing upcoming movies without the need to click on search button

I've used redux-saga for state management and to deal with side effects which have been implemented pretty modularly. ACTION TYPES could have been seperated into a global file though.

Performance is really good, to even more optimize it, lazy loading for images could be done and rendering only the items on the screen as well.

I love fractal structure and every related set of screens will be in one folder under routes and that too will be divided into components and containers. Due to the time constraint and the fact the project was very tiny I've passed whole state to details and list components which could've been reduced to only a couple of variables.

Both the layouts are responsive but on the list screen some cards could be of different heights so they can be equalized by building an equalizer component.

A couple of places I've used inline css which could've been improved by injecting that via js. Yes, I'm advocating CSS insertion using javascript.

I generally take a couple of days to setup a big project so that it can be as modular as it could possibly be. So with more time available, from routing, to configs, from common sass files to fractal structure for actions/sagas/reducers could be implemented.

Note: Cast, Director, rating wasn't available in the API surprisingly. So, I've avoided them.

How to improve this challenge

I think it was a really wholesome challenge to test a frontend developer's way of coding, pattern he uses, state management and implementing XHR calls.

Thank you!

gsiv_amarjeet_mudhar's People

Contributors

amsmu avatar

Watchers

 avatar

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.