learnTube is React Native mobile app built with Expo. Application is an simple learning platform where you can search for videos, watch them and make notes.
The development of the project began on 19 August 2024.
- Expo
- React Native
- TypeScript
- NativeWind
- react-native-video
- Axios
- zod
To run application locally you need to have git
, node.js
and npm
installed locally on your machine.
git clone https://github.com/majkeloess/learnTube
cd learnTube
npm i
Change name of the .env.example
file, into .env
.
EXPO_PUBLIC_YOUTUBE=<YOUR_YT_API_V3_KEY>
If you want to fetch data into app you need to have YOUR_YT_API_V3_KEY
. You can get it from Google console. You'll need to create a new application that utilizes the YouTube v3 API. This process is more involved than the previous steps, so please refer to documentation for guidance.
npx expo start
Scan QR code from terminal and open Expo Go on your device. You have to be connected to the same network as on your computer.
App right now uses react-native-video Video component. It works only in dev build for specific platform because it uses native modules. If you want app work properly in Expo Go you have to change Video player (from VideoPlayer
to VideoPlayerAV
) in the file below:
// app/details/[id].tsx
<SafeAreaView className="h-screen mt-6">
{/* temporary */}
{/* <VideoPlayerAV url={data.id} /> */}
<VideoPlayer currentTime={currentTime} setCurrentTime={setCurrentTime} />
<View className="mx-4 mt-4">
<Text className="text-[18px] font-psemibold600">
{data.snippet.title}
</Text>
// ...
This project is licensed under the MIT License.