Skip to content

Repository files navigation

MusicApp 🎵

A React Native music streaming app built with Expo that allows users to search, play, and manage their favorite tracks.

Features

  • Audio Playback: Play music previews with a custom audio player
  • Favorites Management: Save and manage favorite tracks locally

Tech Stack

Core Framework

  • Expo - React Native framework for cross-platform development
  • Expo Router - File-based routing system
  • React Native - Mobile app development framework

Data & State Management

  • Deezer API - Music streaming and search API
  • TanStack Query - Data fetching and caching
  • Axios - HTTP client for API requests

Database & Storage

  • SQLite - Local database for storing favorite tracks
  • Drizzle ORM - Type-safe database queries and migrations
  • Expo SQLite - SQLite integration for Expo

Audio & Media

  • React Native Track Player - Advanced audio playback capabilities
  • Expo Image - Optimized image loading and caching

Prerequisites

  • Node.js: v20.19.4
  • pnpm: 10.14.0

Getting Started

  1. Install dependencies

    pnpm install
    # or
    pnpm i
  2. Start the development server

    pnpm expo start
  3. Run on your preferred platform

    • iOS Simulator: Press i in the terminal
    • Android Emulator: Press a in the terminal
    • Web: Press w in the terminal
    • Physical Device: Scan the QR code with Expo Go

Development

Database Migrations

# Generate migration
pnpm drizzle-kit generate

# Run migrations
pnpm drizzle-kit push

Linting

pnpm run lint

Database Schema

The app uses SQLite with Drizzle ORM to store:

  • Favorite Tracks: User's saved tracks with metadata
  • Track Details: Cached track information for offline access

Audio Features

  • Preview Playback: 30-second track previews
  • Background Playback: Continues playing when app is backgrounded
  • Media Controls: Lock screen and notification controls
  • Progress Tracking: Real-time playback progress

Learn More

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages