TvSync is a React Native application that allows users to browse, search, and keep track of their favorite TV series. The application uses the TVMaze API to fetch series data.
The application is built using React Native and MVVM (Model-View-ViewModel) architecture for better separation of concerns and easier code maintainability. Zustand is used for state management, providing a lightweight and simpler solution for handling global state. For designing an expressive UI, the Magnus UI library is utilized, which offers a set of well-designed, customizable components.
- Browse all series from the TVMaze API
- Search series by name
- View detailed information about a series and its episodes
- Set a series as a favorite
- Remove series from favorites
- Browse favorite series and view detailed information about them
- Search for people involved in a series
- View detailed information about the person searched and series they have participated in
- Display next scheduled shows
- Subcategorize series per genre
- Support for multiple languages with i18n
- Cool animations for a better user experience
- Browse favorite series in alphabetical order
- Search for people involved in a series
- View detailed information about person Searched and Series they have participated
- Secure the application with a PIN number or fingerprint authentication (for supported phones)
Note: Make sure you have completed the React Native - [ ] Environment Setup instructions till "Creating a new application" step, before proceeding.
First, you will need to start Metro, the JavaScript bundler that ships with React Native.
To start Metro, run the following command from the root of your React Native project:
# OR using Yarn
yarn start
Let Metro Bundler run in its own terminal. Open a new terminal from the root of your React Native project. Run the following command to start your Android or iOS app:
# OR using Yarn
yarn android
# OR using Yarn
yarn ios
If everything is set up correctly, you should see your new app running in your Android Emulator or iOS Simulator shortly provided you have set up your emulator/simulator correctly.
This is one way to run your app — you can also run it directly from within Android Studio and Xcode respectively.
Check the Figma prototype.
The .apk file for the application can be found in this Google Drive link.
To run the unit tests, use the command: npm test
If you want to contribute to this project, please create a new issue or open a pull request.