An Online Meme Sharing app with swipeable vidoes, user can like, share different videos, each viewpager item has one video to show.

Overview

MemesSharing

An Online Meme Sharing app with swipeable vidoes, user can like, share different videos, each viewpager item has one video to show.

1. Flow of App

Untitled.1.mp4

APK

  1. User can see videos in viewpager by swiping up.
  2. User can like, share the video after clicking on like, share icon.
  3. User can play/pause the video after clicking on videoview.
  4. User can see filtered listview of videos in gridview.

2. Share Video to any other app

20210818_115735.mp4

Video will be available to share after downloading. During downloading video videoview will be paused and user will see a chooser for sharing video.

Screenshots of app:-

1. User can play the video after clicking on it(if its paused). icon will show with bounce animation.

  1. User can pause the video after clicking on it. icon will show with bounce animation.

  1. User can like or share the video after clicking on like and share imageview.

  1. User will see listview of different videos types in gridview.

Api end points:-

Used Heroku for deploying api's

  1. https://memestik.herokuapp.com/items - api to add videos to list, those videos will available in viewpager You can add data to this api using post request using postman like below.

Screenshot 2021-08-18 at 6 26 21 PM

  1. https://memestik.herokuapp.com/types - api to add items in list video, after clicking on these list view items you will see filtered list view. You can add data to this api using post request using postman like below.

Screenshot 2021-08-18 at 5 12 28 PM

CodeFlow of App

There are two branches of app:-

a) Master branch contain this code

  1. Used MVP architecture here:- https://github.com/vikasmain/MemesSharing/blob/master/app/src/main/java/com/example/memessharing/MemesContract.kt

  2. Used coroutines for api calls here:- https://github.com/vikasmain/MemesSharing/blob/master/app/src/main/java/com/example/memessharing/presenter/MemesPresenter.kt#L68

  3. Used Dagger hilt for dependency injection here:- https://github.com/vikasmain/MemesSharing/tree/master/app/src/main/java/com/example/memessharing/deps

  4. Used StateFlows for different managing states:- https://github.com/vikasmain/MemesSharing/blob/master/app/src/main/java/com/example/memessharing/StateFlows.kt

  5. Added tests for coroutines:- https://github.com/vikasmain/MemesSharing/tree/master/app/src/test/java/com/example/memessharing

b) feature/view-impl branch contain this code

  1. Removed activity reference from dagger hilt module:- https://github.com/vikasmain/MemesSharing/blob/feature/view-impl/app/src/main/java/com/example/memessharing/deps/MainModule.kt

  2. Created a separate view implementation for view interface:- https://github.com/vikasmain/MemesSharing/blob/feature/view-impl/app/src/main/java/com/example/memessharing/view/MemeViewImpl.kt

  3. Used MVP architecture here:- https://github.com/vikasmain/MemesSharing/blob/master/app/src/main/java/com/example/memessharing/MemesContract.kt

  4. Used coroutines for api calls here:- https://github.com/vikasmain/MemesSharing/blob/master/app/src/main/java/com/example/memessharing/presenter/MemesPresenter.kt#L68

  5. Used Dagger hilt for dependency injection here:- https://github.com/vikasmain/MemesSharing/tree/master/app/src/main/java/com/example/memessharing/deps

  6. Used StateFlows for different managing states:- https://github.com/vikasmain/MemesSharing/blob/master/app/src/main/java/com/example/memessharing/StateFlows.kt

  7. Added tests for coroutines:- https://github.com/vikasmain/MemesSharing/tree/master/app/src/test/java/com/example/memessharing

You might also like...
New style for app design Online Sunglasses Shop App UI made in Jetpack Compose.😉😎
New style for app design Online Sunglasses Shop App UI made in Jetpack Compose.😉😎

JetSunglassUI-Android New style for app design Online Sunglasses Shop App UI made in Jetpack Compose. 😉 😎 (Navigation Components, Dagger-Hilt, Mater

ABCTingle is a simple app that i made over the weekend. Clicking each alphabets from letter 'A' to 'Z' plays the tranditional ABC song
ABCTingle is a simple app that i made over the weekend. Clicking each alphabets from letter 'A' to 'Z' plays the tranditional ABC song

I made ABCTingle over the weekend just for fun. Clicking each alphabets from letter A to Z plays the tranditional ABC song. I'm sure kids would enjoy their day with this app.

A simple App which fetches data from NewYork times api and show news to the user
A simple App which fetches data from NewYork times api and show news to the user

Stay-TheNewsApp This is a simple java app, which fetches data from NewYork times api and show news to the user, News can be seen from various categori

A clone of Zomato, A Online Food Ordering App using Jetpack Compose
A clone of Zomato, A Online Food Ordering App using Jetpack Compose

Zomato-Clone A clone of Zomato, A Online Food Ordering App using Jetpack Compose Below are a few Screenshots of the app till now - Screens Demo Login

Climby is designed to put climbers in contact with each other
Climby is designed to put climbers in contact with each other

Climby Con el nuevo 'BOOM' de la escalada, se vio la necesidad de crear un app donde los usuarios puedan publicar o unirse a viajes, sin la necesidad

A TODO list app with location reminders that remind the user to do something when the user is at a specific location

Project Title Location Reminder Getting Started A TODO list app with location reminders that remind the user to do something when the user is at a spe

 Online real-time android quiz game
Online real-time android quiz game

KQuiz Описание проекта Проект представляет собой мобильное приложение, выполнящее роль платформы для создания, поиска, организации и выполнения онлайн

A canvas you can draw on with different colors.
A canvas you can draw on with different colors.

Simple Draw A canvas you can draw on with different colors. Want to draw something but you have no paper? This app will suit you perfectly. Just pick

This is a practice app. An app that you can find random recipes and choose the ones you like.
This is a practice app. An app that you can find random recipes and choose the ones you like.

A food suggestion app like Tinder This is a practice app. In this app, you can find random recipes and choose the ones you like. This is main menu. Yo

Owner
Vikas Bajpayee
Android developer
Vikas Bajpayee
A very simple Android app which shows you random memes with the help of meme-api which you can share with your friends!

Meme Share A very simple Android app which shows you random memes with the help of meme-api which you can share with your friends! Tech stack 100% wri

Stɑrry Shivɑm 8 Aug 10, 2022
myMaps displays a list of maps, each of which show user-defined markers with a title, description, and location.

My Maps Trevor Carrell myMaps displays a list of maps, each of which show user-defined markers with a title, description, and location. The user can a

null 0 Nov 1, 2021
📦📦Video downloader for Android - Download videos from Youtube, Facebook, Twitter, Instagram, Dailymotion, Vimeo and more than 1000 other sites

youtube-dl-android ?? An Android client for youtube-dl: https://github.com/rg3/youtube-dl Major technologies Language: Kotlin Architecture: MVVM Andro

Cuong Pham 443 Dec 30, 2022
Swarup 2 Feb 6, 2022
Simulate the running route of each player on the playground, and can be timed with a stopwatch

PathView (Simulate the running route of each player on the playground, and can be timed with a stopwatch) Generally speaking, high frequency and dense

Old Driver 5 Jun 11, 2022
The app is composed of 2 screens, first is the profile screen, it has the user_name and address pinned at the top and then it lists all of this user’s albums.

The app is composed of 2 screens, first is the profile screen, it has the user_name and address pinned at the top and then it lists all of this user’s albums. When you press on any album it navigates to the second screen which is an album details screen that contains list of the images in an recyclerview grid. Also you have search bar that you can filter within the photos album by the image title.

Mahmoud Ibrahim 4 Jul 10, 2022
Checks for app updates and automatically updates the current app if the new one in local storage have a different version

Silent Android App Update Sample This sample shows how to update Android app silently without user confirmation with a device owner app. It works on A

Hamdi Guerbej 1 May 14, 2022
KirinApp - Schedule, Picture Sharing App

Kirin App 일정 및 사진 공유 앱 Android Room Android DB API. 공식가이드 참고 Navigation Componen

null 1 Mar 5, 2022
Examples of Getting Started vídeos

Getting Started Kotlin Learn the basics of getting started with kotlin --->>> Repo: Kotlin Koans <<<--- --->>> Repo: Problems Kotlin <<<--- --->>> Rep

Victor Bolinches 41 Dec 4, 2022