This project is a podcast player application built with React, TypeScript, Vite, Tailwind CSS. It follows a feature-based architecture and utilizes GitHub Actions for deployment.
You can enjoy the podcast website here: https://dawalberto.github.io/podcaster
The Podcaster app allows users to discover and listen their favorite podcasts. With a sleek and intuitive interface, users can browse through a wide selection of podcasts.
- React: A JavaScript library for building user interfaces.
- TypeScript: A typed superset of JavaScript that compiles to plain JavaScript.
- Vite: A next-generation front-end tooling ecosystem for modern web development.
- Tailwind CSS: A utility-first CSS framework for building custom designs quickly.
- Zustand: A simple and fast state management solution for React applications.
- GitHub Actions: Automate workflows and deploy your application with CI/CD directly from your GitHub repository.
- Feature-based Architecture: Organize code into feature modules for better maintainability and scalability.
- Filter podcast: Filter podcast by searching by author or title.
- Loading indicator: Indicates at all times whether the user is browsing or loading data.
- Responsive Design: Ensure optimal viewing experience across a range of devices and screen sizes.
This project includes unit and integration tests written with Jest. To run the tests, use the following command:
npm run test
End-to-end tests are implemented with Cypress. To execute the E2E tests, use the following command:
npm run cy:open
or
npx cypress run
To get started with the Podcaster app, follow these steps:
git clone https://github.com/dawalberto/podcaster.git
cd podcaster
npm install
npm run dev