Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Frontend Home test - Marc Lluis #684

Open
wants to merge 13 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions jobs/Frontend/mews-hometest-marcl/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
/node_modules
/.pnp
.pnp.js

# testing
/coverage

# production
/build

# misc
.DS_Store
.env
.env.local
.env.development.local
.env.test.local
.env.production.local

npm-debug.log*
yarn-debug.log*
yarn-error.log*
70 changes: 70 additions & 0 deletions jobs/Frontend/mews-hometest-marcl/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# Movie Search App

This is my Movie search application built with React and Redux for Mews. It allows users to search for movies, view movie details, and scroll through search results. The app uses the [The Movie Database (TMDb) API](https://www.themoviedb.org/documentation/api) as mentioned in the instructions to fetch movie data.

## Features

- Search for movies by title
- View movie details
- Infinite scroll to load more search results
- Responsive design for various screen sizes
- Handles the back functionality to resume your search where you left
- Controls the 404 page error
- Lets the user to select their favorite films

## Technologies Used

- React
- Redux
- React Router
- Material-UI
- Jest

## Installation and execution

To run this project locally, follow these steps:

1. Access to the project directory /mews-hometest-marcl
`cd /mews-hometest-marcl`

2. Install the dependencies

```bash
npm install
```

3. Create a .env file in the root directory and add your TMDb API key:

`REACT_APP_API_KEY=your_api_key_here`

4. Start the development server:

```bash
npm start
```

5. To run the tests:

```bash
npm test
```

## Improvements
This project can be improved with some of the following ideas:
- Adding further testing
- Adding the filtering for categories
- Creating a CD/CI for new features
- Implement a login / logout method
- Implement a method to clear LocalStorage (maybe when a logout occurs)
- Implement the functionality of setting the favorite in the MovieList component and not only on the details
... amongst others


## Usage
- Enter a movie title in the search bar and press Enter or click the search button.
- Scroll through the search results to load more movies.
- Click on a movie to view its details.
- Click on the heart if you wish to add the film into your favorites
- Use the back button to return to the search results.

Hope you like it!
Loading