This is a React Native application designed to enhance your movie and TV show tracking experience. Built with Expo, the app provides a seamless way to categorize and manage your "Watched" and "To Watch" lists. It integrates with RapidMock APIs to fetch and manage dynamic movie data, offering features like searching, sorting, filtering, and toggling between grid and list views.
- Explore: See the list of all available movies and shows
- Search: Find movies and shows by title using the search bar.
- Grid/List Toggle: Switch between grid and list views for a personalized display.
- Sort A-Z: Sort the movie list alphabetically.
- Filter by Type: Filter content by type (movies/shows).
- Movie Navigation: Tap on a movie or show to view detailed information.
- Pull-to-Refresh: Reload data by pulling down on the list.
- Categorized Lists: View "Watched" and "To Watch" movies in separate sections fetched dynamically from the API.
- Grid/List Toggle: Customize the view to display movies in a grid or list format.
- Movie Navigation: Tap on a movie or show to navigate to the details page.
- Pull-to-Refresh: Refresh the lists to see updated lists.
- Movie Information: View detailed information about a movie.
- Toggle Status: Mark the movie as "Watched," "To Watch," or clear the status entirely.
- Back Navigation: Use the back icon to return to the previous screen.
- Navigation: Consistent app-wide header featuring the app name and navigation icons.
- Hamburger Menu: Clicking the icon gives a demo message
- Profile Icon: Navigates to Profile Screen that displays user information.
- Dynamic State Management: Each screen updates dynamically based on user actions or API data.
- Data is fetched dynamically from a mock API hosted on RapidMock.
- The app assumes static user information for the profile screen.
- Sorting, grid/list toggle, and filtering are implemented as local UI features.
- Node.js (v14 or higher)
- Expo CLI (
npm install -g expo-cli
) - Android Studio or an Android/iOS device for testing
-
Clone the repository:
git clone https://github.com/shreyam462/movie-show-tracker.git cd movie-tracker-app
-
Install dependencies:
npm install
-
Start the app in development mode:
expo start
-
Open the app on your device:
- Scan the QR code using the Expo Go app on your phone(Android/iOS).
- Use an Android/iOS emulator or simulator.
The app uses the following RapidMock API endpoints:
-
All Movies:
- Endpoint:
/movies/all
- Description: Retrieves a list of all available movies.
- Endpoint:
-
Movies List:
- Endpoint:
/movies
- Query Parameters: id (integer, required): The unique identifier for the movie
- Description: Fetches detailed information about a specific movie based on the provided movie ID.
- Endpoint:
-
My List:
- Endpoint:
/mylist
- Description: Fetches categorized lists of "Watched" and "To Watch" movies.
- Endpoint:
-
Add to List:
- Endpoint:
/mylist/add
- Description: Updates the movie status to "Watched" or "To Watch."
- Endpoint:
Download the APK to install and test the app on your Android device:
Watch a video demonstration showcasing the main flows and features of the app:
This project is licensed under the MIT License. See the LICENSE file for more details.
Shreya Mishra