Cinecode is a Fancode-inspired App.
- Online / offline capturing events & monitored
- Layout and UI (Error handling while searched all movies not found pending)
- Default page load state (2012 starting & load movies of the previous year when the user scrolls up and load movies of next year when the user scrolls down until the current year.)
- API
- Genre Filter (Search filter, Multiple Genre filter)
- Code Quality (Avoided using pre-built component libraries (e.g., Bootstrap, Tailwind, etc.) for creating UI components)
- Implemented a search bar that searches for the movie based on the search string and displays an infinite loading list of movies that matches the search.
- TypeScript for enhanced type safety and code quality.
- Test-Cases (Ongoing as I started to learn on the go)
- Node: This will be used to set up your project.
- To test on Android devices, you can either connect a physical device or Android Studio to set up an emulator.
- To test on iOS devices, you'll need a Mac and install Xcode to set up an emulator.
-
Clone the repository:
git clone https://github.com/sridhar7601/Cinecode.git
-
Navigate into the project directory:
cd movie-app
-
Install dependencies:(Use either npm or yarn):
npm install #or yarn install
-
For macOS / Windows / Linux follow this link for Environment setup (Choose the desired options):
- Install Android Studio and set up the Android SDK.
- Add the Android SDK location to your system's PATH environment variable.
- In the project directory, run the following command to start the Android app:
npx react-native run-android
- Install Xcode from the Mac App Store.
- In the project directory, navigate to the ios folder and install the CocoaPods dependencies:
-
cd ios pod install cd ..
- Run the iOS app:
-
npx react-native run-ios
- Connect an Android device or start an Android emulator.
- In the project directory, run the following command to start the Android app:
-
npx react-native run-android
- Make sure you have a Mac with Xcode installed.
- Connect an iOS device or start an iOS emulator.
- In the project directory, run the following command to start the iOS app:
-
npx react-native run-ios
Andriod APK Only for testing purpose (Request via Gdrive and I will give access after consideration ) A Demo video with features including search, multiple filters, and load movies with activity loader(all customizable styles no Css framework used only react-native inbuilt packages)
d544a521-02ca-43b6-93a1-08142af28c1b.mp4
As per the request and user scrolling if the user scrolls up, it has to list old movies(which is not the appropriate use-case but customizable)
demo-scrollup.mp4
```bash
<ScrollView
onScroll={({nativeEvent})=>{
if(isCloseToTop(nativeEvent)){
//do something
}
if(isCloseToBottom(nativeEvent)){
//do something
}
}}
>
...contents
</ScrollView>
isCloseToBottom({layoutMeasurement, contentOffset, contentSize}){
return layoutMeasurement.height + contentOffset.y >= contentSize.height - 20;
}
ifCloseToTop({layoutMeasurement, contentOffset, contentSize}){
return contentOffset.y == 0;
}
- Peacock
- Ticket booking
- And some Brain crushed Ideas 🪄 🚀
- Chai(Ongoing)
- Mocha(Ongoing)
- Jest(Ongoing)
This project is licensed under the MIT License - see the LICENSE file for details.