Skip to content

Coderkube-App/react-native-api-integration

Repository files navigation

Movie App (React Native)

A simple and scalable React Native application to browse movie details using The Movie Database (TMDB) API. This project follows a Clean Architecture approach to ensure maintainability and testability.


Features

  • Fetch and display movie details
  • Scalable API integration using Axios
  • Clean and modular project structure
  • Centralized API handling
  • Optimized network calls with Axios interceptors
  • Pagination support for smooth movie browsing

Getting Started

1. Clone the repository

git clone https://github.com/Coderkube-App/react-native-api-integration.git

2. Install dependencies

# Using npm
npm install

# OR using Yarn
yarn install

3. Run the app

Start Metro Bundler

npx react-native start

Run on Android

npx react-native run-android

Run on iOS

npx react-native run-ios

API Key Setup (IMPORTANT)

This project uses TMDB API.

  • You must add your own API key before running the project.

Steps:

  • Create an account on TMDB
  • Generate your API key
  • Open the file:
src/core/network/ApiEndpoints.ts
  • Add your API key:
export class ApiEndpoints {
  static readonly baseUrl = 'https://api.themoviedb.org/3';
  static readonly apiKey = 'YOUR_API_KEY_HERE';
}

Tech Stack

  • React Native (0.81+)
  • TypeScript
  • Axios (HTTP client)
  • React Navigation (Stack Navigation)

Project Structure (Clean Architecture)

src/
├── core/         # Network clients, themes, constants
├── domain/       # Business logic (Entities, Repository Interfaces)
├── data/         # Data layer (Models, Repository Implementations, Providers)
├── modules/      # Feature-based UI (Views, ViewModels/Hooks)
└── routes/       # Navigation configuration

Best Practices Used

  • MVVM Pattern: Separation of UI and logic using custom Hooks (ViewModels).
  • Clean Architecture: Separation of concerns between Data, Domain, and UI layers.
  • Axios Interceptors: Global request/response handling.
  • Modular Codebase: Each feature is isolated in the modules directory.

Future Improvements

  • Search movies
  • Favorites or Watchlist
  • Movie trailers
  • Dark mode support

Contribution

  • Feel free to fork and improve this project
  • Pull requests are welcome

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors