Skip to content

Latest commit

 

History

History
323 lines (267 loc) · 9.48 KB

README.md

File metadata and controls

323 lines (267 loc) · 9.48 KB
Sobyte Logo

Listen And Download Any Music Anytime, Anywhere. Let's Feel The Music.

Table of Contents
  1. App Features
  2. Get Started

App Features:

  • Free Music to listen
  • Free download any music!!!
  • Extremely easy to use
  • Minimilastic and Attractive UI
  • Theme System (Dark Theme, Light Theme, Custom Theme)
  • Different languages support (i18n)
  • Offline Capability
  • Many things are Customizable

TODO:

  • Work on App's performance issue.
  • Many parts of the app is laging due to state update and re-renderings. This need to be fixed.

Get Started:

Prerequisites

This is an example of how to list things you need to use the software and how to install them.

  • npm
npm install yarn@latest -g

or

npm install npm@latest -g

Environment Setup

  1. Fork this repository
  2. Clone the repository.
git clone https://github.com/[YOUR_GITHUB_USERNAME_HERE]/sobyte.git
  1. Run this command at the root of project directory.
yarn install
  1. To see the live demo of the app, follow this steps:
  • First run this command
yarn global add react-native
  • Now For physical device
    • Connect you device with computer using USB and enable USB Debugging in Developer Options
    • Then run this command
    react-native run-android
    
    • That's it wait for sometime to build the app and it will run automatically with live reload.
  • And For emulator
    • Run an emulator then run the same above command
    react-native run-android
    
  1. This step is crucial and important too.

    1. There is only one patch for now :-
    • Ctrl+Press on the TriggeringView Component imported from react-native-image-header-scroll-view package in any file (just search for it)

    • And change the follwing code componentWillMount to UNSAFE_componentWillMount and componentWillReceiveProps to UNSAFE_componentWillReceiveProps.

    • In short :-

           ...
      
      -    componentWillMount() {}
      +    UNSAFE_componentWillMount() {}
      
      -    componentWillReceiveProps() {}
      +    UNSAFE_componentWillReceiveProps() {}
           ...
           ...
  2. This is also a IMP setup for the music fetcher to work.

    1. Change the following lines in react-native-ytdl package info.js file :-
      const ytdl = (link, options) => {
          return ytdl.getInfo(link, options).then(info => {
      +       return info
      -       return getURLsFromInfoCallback(info, options);
          });
      };
  3. Step for vim/nvim users.

    1. Install ctags for the system.
    2. Run following command to generate tags file.
    • For full tags
    ctags -R .
    
    • For compressed size tags file.
    ctags -R --exclude=.git --exclude=.github --exclude=.github_src --exclude=.vim --exclude=.vscode --exclude=android --exclude=ios --exclude=node_modules --exclude=others .
    
    • For extended tags file.
    ctags -R --exclude=.git --exclude=android --exclude=.buckconfig --exclude=CODE_OF_CONDUCT.md --exclude=CONTRIBUTING.mddev_build.keystore --exclude=dev_build.keystore --exclude= --exclude= --exclude= --exclude= --exclude=.editorconfig --exclude=.env --exclude=.eslintignore --exclude=.git --exclude=.gitattributes --exclude=.github --exclude=.github_src --exclude=.gitignore --exclude=.gitmodules --exclude=init.vim --exclude=ios --exclude=.md --exclude=node_modules --exclude=.node-version --exclude=.npmrc --exclude=others --exclude=package.json --exclude=package-lock.json --exclude=.prettierignore --exclude=README.md --exclude=sobyte.session.sql --exclude=tags --exclude=tags_previous --exclude=tags_src --exclude=test.rest --exclude=.vim --exclude=.vimrc --exclude=.vscode --exclude=.watchmanconfig --exclude=yarn.lock .
    

File Structure (Tree)

Main Project Directory

app
├── MainApp.tsx
├── api
│   ├── MusicFetcher.tsx
│   ├── PlayerControls.tsx
│   ├── index.js
│   ├── parsers.js
│   ├── playerServices.js
│   └── utils.js
├── assets
│   ├── animations
│   │   └── logo_loading.gif
│   ├── fonts
│   │   ├── Elika Gorica.ttf
│   │   ├── Helvetica.ttf
│   │   ├── LucidaGrande.ttf
│   │   ├── Roboto-Bold.ttf
│   │   ├── Roboto-Regular.ttf
│   │   ├── Tahoma Regular font.ttf
│   │   ├── Ubuntu Bold.ttf
│   │   ├── Ubuntu Light.ttf
│   │   ├── Ubuntu.ttf
│   │   └── verdana.ttf
│   └── images
│       ├── icons
│       │   └── setting.png
│       ├── logo_name.png
│       ├── phone_screen.png
│       └── sobyte_logo_white.png
├── components
│   ├── AnimatedGradient
│   │   └── index.js
│   ├── Area
│   │   └── index.tsx
│   ├── AuthButton
│   │   └── index.tsx
│   ├── BottomSheet
│   │   └── index.tsx
│   ├── DoubleTap
│   │   └── index.tsx
│   ├── FullScreenLoading
│   │   └── index.tsx
│   ├── GlobalLoading
│   │   └── index.tsx
│   ├── GradientBackground
│   │   └── index.tsx
│   ├── Header
│   │   └── index.tsx
│   ├── HeaderCollapsible
│   │   └── index.tsx
│   ├── HeaderMain
│   │   └── index.tsx
│   ├── HeaderProfile
│   │   └── index.tsx
│   ├── HeaderSearch
│   │   └── index.tsx
│   ├── HeartBeatView
│   │   └── index.tsx
│   ├── HighPaddingView
│   │   └── index.tsx
│   ├── MusicPlayer
│   │   └── ProgressSlider.tsx
│   ├── Prompt
│   │   └── index.tsx
│   ├── Scaler
│   │   └── index.tsx
│   ├── ScalerAuthButton
│   │   └── index.tsx
│   ├── SobyteAlert
│   │   └── index.tsx
│   ├── SobyteTextInput
│   │   └── index.tsx
│   ├── T_C_PrivacyPolicy
│   │   └── index.tsx
│   └── index.ts
├── constants
│   ├── fakemails.ts
│   └── index.js
├── context
│   ├── Settings.tsx
│   └── index.ts
├── controller
│   ├── AppInside.tsx
│   ├── AppStartingPoint.tsx
│   ├── Authentication.tsx
│   ├── ExploreStack
│   │   └── index.tsx
│   └── ProfileStack
│       └── index.tsx
├── i18n
│   ├── en.json
│   ├── hi.json
│   └── index.js
├── interfaces
│   └── index.ts
├── rules
│   └── index.ts
├── screens
│   ├── Home.tsx
│   ├── authentication
│   │   ├── ForgotPassword.tsx
│   │   ├── Help.tsx
│   │   ├── Intro.tsx
│   │   ├── Login.tsx
│   │   └── Register.tsx
│   └── main
│       ├── Explore
│       │   └── Explore.tsx
│       ├── MusicPlayer.tsx
│       └── Profile
│           ├── Profile.tsx
│           └── Setting.tsx
├── styles
│   └── global.styles.ts
├── themes
│   ├── DarkTheme.ts
│   ├── ThemeProps.ts
│   ├── ThemeProvider.tsx
│   └── Themes.ts
└── utils
    ├── Colors.ts
    ├── Objects.ts
    ├── index.ts
    └── storage.ts

License

Distributed under the MIT License. See LICENSE for more information.

Author

sobhanbera (https://github.com/sobhanbera)

Contact


     

        

Sobyte Logo