Git Product home page Git Product logo

podcastr's Introduction

Podcastr

A website where people can listen to podcasts about technology, developed with Next.js

Repo's top languages Repository size

Used Technologies   |    Project's goal   |    Final Result   |    Features   |    Tests

🚀 Used Technologies

  • Next.js- Next.js is a framework built on top of React. It was used to build the app in general.
  • TypeScript - Typescript is a superset of the common JavaScript. With that, we can type and maintain our code easier.
  • Styled Components - Styled components is a CSS-in-JS library. It was used to style the whole app.
  • React Testing Library - React Testing Library is a library that allows us to create unit and integration tests of React components. It was used to test the components.
  • Cypress - Cypress is a library that allows us to create end to end tests on webpages. It was used to make the end to end tests on the website, this way we can make sure that the site will work correctly in production

🎯 Project's goal

The aim of this project was practicing Next.js with TypeScript, I have been studying these technologies really much lately because I like them. I also took the opportunity to test all the pieces of the app, from the components to the whole pages.

▶️ Final Result

Home page

Podcast details page

📋 Features

  • All the pages were statically generated, which improves the user experience since the page will not take long to load and be available to use.
  • User can:
    • Play podcasts from the home page
    • Play podcasts from the podcast details page
    • Go to the next episode from a playlist using a button of the player component
    • Go to the previous episode from a playlist using a button of the player component
    • Pause and play the current podcast that is active on the player
    • Turn on a "random" mode for the player, in order to it play a random podcast when the current podcast finishes

🧪 Tests

For this app, I have written unit tests using react-testing-library and jest, and I've also written end to end tests using Cypress, below you can take a look in some details of them.

Unit tests

End to end tests


Hope you enjoyed this project 😃
👋 Get in touch!

Author: Tiago Dias

podcastr's People

Contributors

tiagodiass avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.