To better understand Android app development, we took on the challenge of creating our own version of TikTok – one of the most popular entertainment apps for mobile devices. Our main objectives were to replicate all of the app's key features as accurately as we could.
This project is a part of the main assignments in our Android Development Course at HCMUS.
Before you start building TopTop, please ensure that you meet the following requirements:
-
Android Studio: You'll need Android Studio installed on your development machine. Make sure you have Android SDK 28 or newer installed as well.
-
Android Device: To run the app, you'll need an Android device with Android 9 Pie or a newer version. We recommend using a device with 4GB or more of RAM for the best experience.
-
Firebase Project: Ensure you have your own Firebase project set up. You'll need to link it with the cloned repository using the
google-services.json
template. -
Gradle Version: We recommend using Gradle version 7.3.3 for building this project.
-
ExoPlayer: ExoPlayer is used for multimedia playback as each short video is scrolled onto in our app.
-
Android GIF Drawable: Android GIF Drawable is used for the loading animation of the video downloading from the database.
TopTop offers a comprehensive set of features, including many of the core functionalities found in the original TikTok app. Here are some of them:
Users can easily sign up or sign in using their existing Google account or phone number. This step is necessary for uploading content and engaging with videos on the platform.
Our home screen allows users to seamlessly swipe through videos uploaded by friends and recommendations based on their interests. Signed-in users can interact with videos by liking, commenting, and responding to comments, just like the original TikTok app.
We've developed a user-friendly camera system for recording videos and adding captions, which can then be uploaded to the user's profile. Users also have the option to choose videos from their device's library.
Users can easily share profiles or individual videos using the app's generated URL. This shareable link can be posted across various platforms for maximum reach.
In addition to the core features mentioned above, TopTop includes:
- Notifications
- Search for hashtags and videos
- Dark and Light themes that automatically adapt to the device's system theme.
Distributed under the MIT License. See LICENSE
for more information.
We would like to express our gratitude to the following resources, which have been invaluable in the development of this project:
-
Permissions on Android: The Android Permissions Overview guide.
-
Firebase Authentication: The Get Started with Firebase Authentication on Android guide by Firebase.
-
Firebase Firestore: Firestore documentation.
-
Cloud Storage for Firebase: Cloud Storage for Firebase documentation.
-
android.hardware.camera2: android.hardware.camera2 documentation.
-
Create Dynamic Lists with RecyclerView: RecyclerView documentation.