Skip to content

fabiopaitra/s21

Repository files navigation

s21

Preview-Screens

About this Project

The idea of the Project is:

"Share knowledge in the form of podcasts, providing a simple way to learn".

PS: Podcasts was just the context chosen by me for this project, but all the code inside this app can be reused for any app that has audio-streaming as domain, so you can reuse everything here in your next music-player, podcast-library or anything inside this context!

On the Media 🤩: A review about this app (pt-BR 🇧🇷).

Why?

This project is part of my personal portfolio, so, I'll be happy if you could provide me any feedback about the project, code, structure or anything that you can report that could make me a better developer!

Email-me: stenio.wagner1@gmail.com

Connect with me at LinkedIn.

Also, you can use this Project as you wish, be for study, be for make improvements or earn money with it!

It's free!

Some Observations about this App

1 - There's no functionality of Login/Register, the buttons and the forms in the Login Screen are only for UI matters.

2 - The only option that works at Settings screen it's toggle the Dark/Light theme, all the others are just for UI matters too.

Installers

If you want to test the App in the Production mode, the installers are listed below:

Android .apk installer

iOS .ipa installer: Soon!

Functionalities

  • Choose your interests (all, technology, philosophy, science, business, pop-culture or history - it will be used to make requests in order to have a personalized app with what the user want to hear about)

  • Get informations about a specific Author, with his New Releases/Featured Podcats and Related Authors

  • Get Informations about a specific Podcast, with its description and Author

  • Listen and download a single podcasts to listen offline (no need to create a playlist)

  • Playlists

    • Create, Edit and Remove your Playlists
    • Download Playlists to listen when the user goes offline
    • Undownload Playlists
  • Player to listen the selected podcasts and also be able to:

    • Shuffle Playlist
    • Repeat Playist
    • Repeat a single Podcast
    • Download the current podcast
    • Add the current Podcast to a Playlist
    • Access the queue of next podcasts that will be played
    • Remove podcasts from the queue
    • Play/Pause the current Podcast
    • Next/Previous podcast on the Playlist
  • Bottom Player

    • Access the bottom player out of the Player screen in order to keep tracking the current podcast
    • Get the Author and the Title of the current podcast
    • Play/Pause/Forward the current podcast
    • Track the timer of the current podcast
  • Discover

    • A Dashboard with:
      • Trending Authors
      • Hottest Podcasts
      • New Podcasts Released
  • Search

    • Search for Authors by name

    • Get information about a certain category, showing it's featured and trending podcats, and the authors that talk about this category

  • Library

    • Create Playlists, add podcasts and download it to listen offline

    • Access Your Podcasts (Downloaded + Podcasts saved on your Playlists) in the form of playlist

    • Access your Podcasts downloaded in the form of playlist

    • Access recently played podcasts in the form of playlist

    • Change your interests

  • Settings

    • Choose between the Dark and Light theme

Getting Started

Prerequisites

To run this project in the development mode, you'll need to have a basic environment to run a React-Native App, that can be found here.

Also, you'll need to the server running locally on your machine with the mock data. You can find the server and all the instructions to start the server here.

Installing

Cloning the Repository

$ git clone https://github.com/steniowagner/mindCast

$ cd mindCast

Installing dependencies

$ yarn

or

$ npm install

Connecting the App with the Server

1 - Follow the instructions on the mindcast-server to have the server up and running on your machine.

2 - With the server up and running, go to the /.env.development file and edit the SERVER_URL value for the IP of your machine (you can have some issues with localhost if you're running on an android physical device, but you can use localhost safely on iOS).

It should looks like this:

SERVER_URL=http://IP_OF_YOUR_MACHINE:3001/mind-cast/api/v1

or

SERVER_URL=http://localhost:3001/mind-cast/api/v1

Running

With all dependencies installed and the environment properly configured, you can now run the app:

Android

$ react-native run-android

iOS

$ react-native run-ios

Built With

Support tools

Contributing

You can send how many PR's do you want, I'll be glad to analyse and accept them! And if you have any question about the project...

Email-me: stenio.wagner1@gmail.com

Connect with me at LinkedIn

Thank you!

License

This project is licensed under the MIT License - see the LICENSE.md file for details