Skip to content

A modern, feature-rich podcast application built with React, TypeScript, and Tailwind CSS. Listen to your favorite podcasts, track episodes, and customize your experience with dark/light theme support.

Notifications You must be signed in to change notification settings

Duma107/CS20240130_WFO2407_B_Dumisani_Nxumalo_DJS11

 
 

Repository files navigation

🎵 Podcast App

A modern, feature-rich podcast application built with React, TypeScript, and Tailwind CSS. Listen to your favorite podcasts, track episodes, and customize your experience with dark/light theme support.

🌟 Features

  • Browse and search podcasts
  • Filter by genre and title
  • Sort shows alphabetically
  • Mark episodes as favorites
  • Track listening progress
  • Persistent audio player
  • Dark/Light theme toggle
  • Responsive design
  • Local storage for favorites and progress
  • Episode grouping by show/season
  • Real-time progress tracking
  • Beautiful, intuitive UI

🛠️ Technologies

  • React 18
  • TypeScript
  • Tailwind CSS
  • Zustand (State Management)
  • React Router
  • Vite
  • date-fns
  • Lucide Icons

🚀 Getting Started

  1. Clone the repository
  2. Install dependencies:
    npm install
  3. Start the development server:
    npm run dev

📦 Building for Production

npm run build

🎯 User Stories Implemented

  • Browse all available shows
  • Sort shows alphabetically
  • Listen to episodes
  • View season-specific episodes
  • Toggle between seasons
  • Mark episodes as favorites
  • View favorite episodes
  • Track listening progress
  • Filter shows by genre
  • Dark/Light theme support
  • Responsive design
  • Persistent audio player

🎨 Design Decisions

  • Theme Toggle: Implemented a system-wide theme toggle for better user experience
  • Audio Player: Persistent player that stays visible while browsing
  • Responsive Layout: Mobile-first approach ensuring great experience on all devices
  • State Management: Zustand for simple yet powerful state management
  • Local Storage: Persistent storage for user preferences and favorites

📱 Screenshots

[Include screenshots of key features]

🤝 Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📝 License

MIT

👤 Author

Your Name

About

A modern, feature-rich podcast application built with React, TypeScript, and Tailwind CSS. Listen to your favorite podcasts, track episodes, and customize your experience with dark/light theme support.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 91.6%
  • HTML 4.3%
  • JavaScript 3.5%
  • CSS 0.6%