Skip to content
This repository was archived by the owner on Mar 6, 2026. It is now read-only.

Vitor-Carmo/app-sacocheio-tv

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

135 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“» Saco Cheio TV Mobile App



GitHub stars GitHub forks GitHub issues GitHub license

The unofficial mobile companion for Saco Cheio TV's podcast platform, built with React Native and Expo.

πŸ’‘ About the Project

This is an unofficial mobile app for the Saco Cheio TV podcast platform.

Since the platform doesn't provide an official mobile application and only distributes episodes through RSS feeds, I decided to build a dedicated mobile app that allows fans to listen to the podcast while keeping the visual identity of the platform.

The entire UI of this application was designed by me using Figma, which was quite a challenge since I'm not a designer.

You can see the original UI design here:
https://www.figma.com/file/7LuyM5VZsCj6kYRgQiNyaD/sacocheio-tv-app

This project was mainly created as an excuse to learn new technologies and step out of my comfort zone.


πŸ“± Some Screens


πŸ“– Overview

This repository hosts the source code for an unofficial mobile application designed to provide a seamless listening experience for the Saco Cheio TV podcast platform. Developed with React Native and Expo, the app offers a native-like interface for browsing, playing, and managing podcast episodes, allowing fans to enjoy their favorite content on the go.

✨ Features

  • 🎧 Podcast Playback: Listen to episodes with a dedicated audio player, complete with controls for play/pause, seek, and track progression.
  • πŸ“š Episode Browsing: Navigate through a comprehensive list of Saco Cheio TV podcast episodes.
  • πŸ“± Intuitive Navigation: Smooth user experience powered by React Navigation.
  • 🎨 Custom Theming: Supports different visual themes for personalized aesthetics (e.g., dark/light mode).
  • πŸ“‘ API Integration: Fetches podcast data from the Saco Cheio TV platform's API.
  • πŸ”„ Background Audio: Potentially supports background audio playback for uninterrupted listening.
  • πŸ›‘οΈ Type-Safe Development: Built with TypeScript for enhanced code quality and maintainability.

πŸ› οΈ Tech Stack

Mobile Frontend: React Native Expo TypeScript React Navigation Styled Components React Native Paper

DevOps & Tools: Expo Application Services Jest

πŸš€ Quick Start

Follow these steps to get the development environment set up and run the app locally.

Prerequisites

Installation

  1. Clone the repository

    git clone https://github.com/Vitor-Carmo/app-sacocheio-tv.git
    cd app-sacocheio-tv
  2. Install dependencies

    yarn install

Environment setup

This project primarily uses app.json for configuration and doesn't explicitly rely on .env files for basic setup. Ensure app.json contains appropriate settings for your development environment if you intend to customize app metadata.

Start development server

  1. Start the Expo development server
    yarn start
  2. Open your app
    • On a physical device: Scan the QR code displayed in your terminal or browser with the Expo Go app.
    • On iOS Simulator: Press i in the terminal.
    • On Android Emulator: Press a in the terminal.
    • In Web Browser: Press w in the terminal (for web preview, though primarily a mobile app).

πŸ“ Project Structure

app-sacocheio-tv/
β”œβ”€β”€ assets/             # Static assets (images, fonts, app icon, splash screen)
β”œβ”€β”€ src/                # Main application source code
β”‚   β”œβ”€β”€ components/     # Reusable UI components
β”‚   β”œβ”€β”€ context/        # React Context providers (e.g., AudioPlayerContext)
β”‚   β”œβ”€β”€ hooks/          # Custom React hooks
β”‚   β”œβ”€β”€ routes/         # React Navigation setup and navigators
β”‚   β”œβ”€β”€ screens/        # Application screens/pages (e.g., Home, Player, Episodes)
β”‚   β”œβ”€β”€ services/       # API integration and data fetching logic (e.g., api.ts)
β”‚   β”œβ”€β”€ themes/         # Theming configuration and styles
β”‚   β”œβ”€β”€ types/          # TypeScript type definitions
β”‚   └── utils/          # Utility functions and helpers
β”œβ”€β”€ App.tsx             # Main application entry point
β”œβ”€β”€ app.json            # Expo application configuration
β”œβ”€β”€ babel.config.js     # Babel configuration for JavaScript/TypeScript transpilation
β”œβ”€β”€ eas.json            # Expo Application Services (EAS) configuration for builds
β”œβ”€β”€ metro.config.js     # Metro Bundler configuration for React Native
β”œβ”€β”€ package.json        # Project metadata and dependencies
β”œβ”€β”€ tsconfig.json       # TypeScript configuration
└── yarn.lock           # Yarn dependency lock file

βš™οΈ Configuration

Expo Application Configuration (app.json)

The app.json file contains crucial configuration for your Expo project, including:

  • name: Display name of the app.
  • slug: Unique identifier for the app in Expo.
  • version: Current version of the app.
  • orientation: Screen orientation (e.g., portrait).
  • icon: Path to the app icon.
  • splash: Configuration for the app's splash screen.
  • ios, android: Platform-specific configurations.

EAS Build Configuration (eas.json)

The eas.json file configures builds and submissions using Expo Application Services (EAS). It defines different build profiles (e.g., development, preview, production) and their respective settings for:

  • Platform (iOS, Android).
  • Build type (development, production).
  • Environment variables.
  • Credentials.

πŸ”§ Development

Available Scripts

The package.json defines several convenient scripts for development:

Command Description
yarn start Starts the Expo development server and opens the app.
yarn android Opens the app on a connected Android device/emulator.
yarn ios Opens the app on a connected iOS device/simulator.
yarn web Runs the app in a web browser (experimental for mobile apps).
yarn eject Ejects the Expo project to a bare React Native workflow.
yarn test Runs the test suite using Jest.

Development Workflow

  1. Ensure prerequisites are installed.
  2. Start the development server using yarn start.
  3. Develop components and screens within the src/ directory.
  4. Utilize Expo Go on your mobile device or an emulator/simulator for real-time preview and debugging.

πŸ§ͺ Testing

The project is configured for unit and component testing using Jest and react-test-renderer.

# Run all tests
yarn test

# Run tests in watch mode
yarn test --watch

# Run a specific test file
yarn test -- YourFileName.test.tsx

πŸš€ Deployment

This project uses Expo Application Services (EAS) for building and deploying mobile applications to app stores.

Production Builds

To create a production build for iOS or Android, you would typically use the eas build command, configured via eas.json.

# Install EAS CLI globally if not already installed
npm install -g eas-cli

# Login to your Expo account
eas login

# Build for Android
eas build --platform android --profile production

# Build for iOS
eas build --platform ios --profile production

Refer to the EAS documentation for detailed setup and deployment guides.

🀝 Contributing

This project is currently archived and contributions are not actively being accepted. However, you are welcome to fork the repository, experiment with the code, and use it as a reference for your own projects.

Should the project become active again, a CONTRIBUTING.md file will be added with specific guidelines.

πŸ“„ License

This project is currently UNLICENSED. For details, please refer to the license field in the package.json file.

πŸ™ Acknowledgments

  • React Native & Expo: For providing a powerful framework and platform for mobile development.
  • Saco Cheio TV: For their podcast content that inspired this application.
  • All dependencies listed in package.json that make this project possible.

πŸ“ž Support & Contact


⭐ Star this repo if you find it helpful!

Made with ❀️ by Vitor Carmo

About

Unofficial mobile app for the Saco Cheio TV podcast platform built with React Native and Expo.

Topics

Resources

Stars

Watchers

Forks

Contributors