# Movie Browser App
## Instructions
1. Clone the repository to your local machine:
```bash
git clone https://github.com/pchandra191/GSIV23_Prabhat_Chandra.git
-
Install the project dependencies:
cd movie-app npm install
-
Start the development server:
npm start
-
Open your browser and navigate to http://localhost:3000 to access the app.
This project is a movie search app built using React. It allows users to search for movies, view movie details, and load more movies. The app also includes Redux for state management.
- Search for movies by title.
- View movie details including title, rating, release date, runtime, director, cast, and description.
- Load more movies as you scroll down the page.
- Responsive design for various screen sizes.
-
React Components: The app is structured into modular components, promoting code reusability and maintainability.
-
Redux State Management: Redux is used to manage the application's state, ensuring a single source of truth and efficient data flow.
-
API Integration: Axios is used to make HTTP requests to the Movie Database API, fetching and displaying movie data.
-
React Router: React Router is used for handling routing and navigation between different views in the app.
If I had more time available, I would consider the following improvements:
-
Unit Tests: Implement unit tests for components and Redux actions/reducers using testing libraries like Jest and React Testing Library.
-
Error Handling: Enhance error handling by providing user-friendly error messages and handling network errors gracefully.
-
Pagination: Implement a pagination feature for better navigation through large lists of movies.
-
Performance Optimization: Optimize performance, especially when rendering large lists of movies, by employing memoization and virtualization techniques.
-
Progressive Web App (PWA): Convert the app into a PWA to enable offline access and improve the overall user experience.
Your feedback on this project is highly appreciated.
If you have any feedback or suggestions for improving this challenge, please feel free to share. We're always looking to enhance our assessment process.
Thank you for considering my application.
Sincerely, Prabhat Chandra