vandaimer / tmdb-webapp

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

TMDB WEB APP

Upcoming movies list from TMDb API.

  • Stack
    • ReactJS (JS)
    • Docker
  • Third-party libraries
    • @material-ui/core: ReactJS components.
    • @material-ui/icons: React icons.
    • axios: HTTP client, library that help us to make HTTP requests.
    • prop-types: Library to check React props.
    • unistore: Redux alternative. Help us to manage the application state.
    • eslint: Tool to help us checking problems in our code.
    • prettier: Tool to help us with code style guide.
    • husky: Git hooks. With it with can run eslint and prettier before every git commit.
    • lint-staged: Tool to build a pipeline process and use together with husky.
    • Inside Dockerfile, we can find *serve", that is a HTTP server, that serve a static site, single page application or just a static file.
  • Architecture
    • I thought in a simple Web App. The code is structured in components, so, each part of the web app that can be separated or that has a specific logic is an individual component. This is a good way to organize the code because we can have many small files (or small components) and it help us to us maintain it.
  • Assumptions
    • The movie search only works in the current page
  • Special build instructions
    • You're going to have nodejs (v8.16+) and yarn
    • Run yarn to install of dependencies
    • Run yarn start to start the application in development mode
    • To easy production deploy you can make prod and the application will be expose on port 5000.

Running the project

  • yarn
  • yarn start
  • Go to the browser on http://localhost:3000

About


Languages

Language:JavaScript 84.6%Language:HTML 12.4%Language:Makefile 1.6%Language:Dockerfile 1.4%