{"id":15033521,"url":"https://github.com/vipyinzhiwei/eyepetizer","last_synced_at":"2025-05-14T10:09:44.298Z","repository":{"id":37636115,"uuid":"259029682","full_name":"VIPyinzhiwei/Eyepetizer","owner":"VIPyinzhiwei","description":"🔥基于 Kotlin 语言仿写「开眼 Eyepetizer」的一个短视频 Android 客户端项目，采用 Jetpack + 协程实现的 MVVM 架构。","archived":false,"fork":false,"pushed_at":"2025-05-10T12:23:38.000Z","size":114399,"stargazers_count":2042,"open_issues_count":3,"forks_count":443,"subscribers_count":34,"default_branch":"master","last_synced_at":"2025-05-10T13:32:18.345Z","etag":null,"topics":["android","android-jetpack","appstartup","coroutines","databinding","datastore","kotlin","livedata-viewmodel","mvvm","mvvm-architecture","paging3","vipyinzhiwei"],"latest_commit_sha":null,"homepage":"http://vipyinzhiwei.com/2020/06/19/pager05","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/VIPyinzhiwei.png","metadata":{"files":{"readme":"README-en.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-04-26T12:52:10.000Z","updated_at":"2025-05-06T15:02:28.000Z","dependencies_parsed_at":"2023-09-28T16:02:29.010Z","dependency_job_id":"ee9c12f8-dde4-425e-ac85-52be4c11bde4","html_url":"https://github.com/VIPyinzhiwei/Eyepetizer","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VIPyinzhiwei%2FEyepetizer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VIPyinzhiwei%2FEyepetizer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VIPyinzhiwei%2FEyepetizer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VIPyinzhiwei%2FEyepetizer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/VIPyinzhiwei","download_url":"https://codeload.github.com/VIPyinzhiwei/Eyepetizer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254120168,"owners_count":22017953,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","android-jetpack","appstartup","coroutines","databinding","datastore","kotlin","livedata-viewmodel","mvvm","mvvm-architecture","paging3","vipyinzhiwei"],"created_at":"2024-09-24T20:21:33.939Z","updated_at":"2025-05-14T10:09:44.291Z","avatar_url":"https://github.com/VIPyinzhiwei.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"English | [中文](README.md)\n\n# Eyepetizer\n[![](https://img.shields.io/badge/Google-Developer%20Library-4c86ea.svg?style=flat?style=flat-square\u0026logo=Android)][33]\n[![](https://img.shields.io/badge/License-Apache%202.0-1d7fbf.svg?style=flat)][34]\n[![](https://img.shields.io/badge/API-21%2B-52c82d.svg?style=flat)][35]\n[![](https://img.shields.io/badge/GitHub-vipyinzhiwei-5674dd.svg?style=flat?style=flat-square\u0026logo=GitHub)][36]\n\nA short video Android client project based on [Kotlin][1] language imitation \"[Open Eyepetizer][2]\", using the MVVM architecture implemented by [Jetpack][3] + [Coroutine][30].\n\n\u003ca href=\"https://trendshift.io/repositories/3263\" target=\"_blank\"\u003e\u003cimg src=\"https://trendshift.io/api/badge/repositories/3263\" alt=\"zeromicro%2Fgo-zero | Trendshift\" style=\"width: 250px; height: 55px;\" width=\"250\" height=\"55\"/\u003e\u003c/a\u003e\n\n## Brief introduction\nThis is a short video Android client project with a high imitation of \"[Open Eyepetizer][2]\". Personally, I feel that the UI design style of this app is very beautiful, and the interface is simple and fresh. Through this project, I will learn and integrate related technologies.\n\nThere is no complicated encapsulation of the entire project, and the project development specifications refer to [Kotlin official documents][4] and third-party [AndroidStandardDevelop][5]. Personally think that the code is relatively easy to read and understand, so it is also very suitable for novices to get started with the Kotlin language, and at the same time master the use of Jetpack components faster.\n\nIt is also worth mentioning that all UIs are measured by the annotation tool, and the font color, size, spacing, etc. are almost **pixel-level** imitated \"Open EyeEyeizer\" Android client App, corresponding to v6 .3.1 version . ([View historical version][31])\n\n## Screenshots\n\u003cimg src=\"screenshots/snapshot1.png\" width=\"50%\"/\u003e\u003cimg src=\"screenshots/snapshot2.png\" width=\"50%\"/\u003e\n\u003cimg src=\"screenshots/snapshot3.png\" width=\"50%\"/\u003e\u003cimg src=\"screenshots/snapshot4.png\" width=\"50%\"/\u003e\n\u003cimg src=\"screenshots/snapshot5.png\" width=\"50%\"/\u003e\u003cimg src=\"screenshots/snapshot6.png\" width=\"50%\"/\u003e\n\u003cimg src=\"screenshots/snapshot7.png\" width=\"50%\"/\u003e\u003cimg src=\"screenshots/snapshot8.png\" width=\"50%\"/\u003e\n\u003cimg src=\"screenshots/snapshot10.png\" width=\"50%\"/\u003e\u003cimg src=\"screenshots/snapshot11.png\" width=\"50%\"/\u003e\n\u003cbr\u003e\u003c/br\u003e\n\u003cimg src=\"screenshots/snapshot12.png\"/\u003e\n\u003cbr\u003e\u003c/br\u003e\n\u003cimg src=\"screenshots/snapshot9.png\" width=\"50%\"/\u003e\u003cimg src=\"screenshots/snapshot13.png\" width=\"50%\"/\u003e\n\u003cbr\u003e\u003c/br\u003e\n\nCan't load images? Attach [blog address][6]\n\u003cbr\u003e\u003c/br\u003e\n\n## Download experience\n- Scan the QR code to install:\u003cbr\u003e\u003c/br\u003e\n   \u003ca href=\"https://www.pgyer.com/eyepetizer\"\u003e\u003cimg src=\"eyepetizer.png\"/\u003e\u003c/a\u003e\n\n- [Click to download eyepetizer.apk][7]\n\n## The main function\n- Watch high-quality HD short videos and comments.\n- Browse community graphics and video creation.\n- Check daily fresh news and hot search keywords.\n- Share exciting short videos and fresh information.\n\n## Use tools\n- [Vector Asset Studio][8] Icon making\n- [iconfont][9] Icon/Design\n- [Postman][10] API Debugger\n- [Charles][11] API Packet capture\n- [PxCook][12] Annotation tool\n- [Development assistant][13] Decompile application, extract application Apk, etc.\n\n## Change Log\n[View Release History Update Log][32]\n\n## About me\n- RealName : YinZhiWei\n- NickName : vipyinzhiwei\n- WeChat : vipyinzhiwei\n- Email : \u003cvipyinzhiwei@gmail.com\u003e\n- Blog : \u003chttps://vipyinzhiwei.com\u003e\n\n## Encourage\nThrough this project, I hope to help you better learn Jetpack and MVVM architecture. If you like the design of Eyepetizer, and feel that the source code of this project is helpful for your study, you can click **\"Star\"** in the upper right corner to support it, thank you! ^_^\n\n## Express one's thanks\n- [Retrofit][14] Network request framework encapsulation\n- [Glide][15] Image loading\n- [OkHttp][16] Network request\n- [Gson][17] Gson analysis\n- [Glide Transformations][18] Image conversion\n- [Eventbus][19] Event bus\n- [Permissionx][20] Dynamic request permission encapsulation\n- [FlycoTabLayout][21] TabLayout encapsulation\n- [SmartRefreshLayout][22] Pull down refresh frame\n- [BannerViewPager][23] Banner carousel\n- [Immersionbar][24] Status bar management\n- [PhotoView][25] Support gesture zoom picture\n- [Circleimageview][26] Round image\n- [GSYVideoPlayer][27] Video player\n- [Leakcanary][29] Memory leak detection\n- [Kotlinx Coroutines][30] Simplify code management background threads and callbacks\n\n\n## License\n\n**All data comes from open eyes, only for learning and communication use, strictly prohibited for any commercial use, the original company has all rights.**\n\n```\nCopyright (c) 2020. vipyinzhiwei \u003cvipyinzhiwei@gmail.com\u003e\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n```\n\n[1]:https://kotlinlang.org\n[2]:https://www.kaiyanapp.com\n[3]:https://developer.android.com/jetpack\n[4]:https://www.kotlincn.net/docs/reference/coding-conventions.html\n[5]:https://github.com/Blankj/AndroidStandardDevelop\n[6]:https://vipyinzhiwei.com/2020/06/19/pager05/#more\n[7]:https://github.com/VIPyinzhiwei/Eyepetizer/raw/master/eyepetizer.apk\n[8]:https://developer.android.com/studio/write/vector-asset-studio?hl=zh-cn\n[9]:https://www.iconfont.cn\n[10]:https://www.postman.com\n[11]:https://www.charlesproxy.com\n[12]:https://www.fancynode.com.cn/pxcook\n[13]:https://github.com/Trinea/android-open-project/issues/314\n[14]:https://github.com/square/retrofit\n[15]:https://github.com/bumptech/glide\n[16]:https://github.com/square/okhttp\n[17]:https://github.com/google/gson\n[18]:https://github.com/wasabeef/glide-transformations\n[19]:https://github.com/greenrobot/EventBus\n[20]:https://github.com/guolindev/PermissionX\n[21]:https://github.com/H07000223/FlycoTabLayout\n[22]:https://github.com/scwang90/SmartRefreshLayout\n[23]:https://github.com/zhpanvip/BannerViewPager\n[24]:https://github.com/gyf-dev/ImmersionBar\n[25]:https://github.com/chrisbanes/PhotoView\n[26]:https://github.com/hdodenhof/CircleImageView\n[27]:https://github.com/CarGuo/GSYVideoPlayer\n[29]:https://github.com/square/leakcanary\n[30]:https://github.com/Kotlin/kotlinx.coroutines\n[31]:https://m.apkpure.com/cn/%E5%BC%80%E7%9C%BC/com.wandoujia.eyepetizer/versions\n[32]:https://github.com/VIPyinzhiwei/Eyepetizer/releases\n[33]:https://devlibrary.withgoogle.com/products/android/repos/VIPyinzhiwei-Eyepetizer\n[34]:https://opensource.org/licenses/Apache-2.0\n[35]:https://android-arsenal.com/api?level=21\n[36]:https://github.com/VIPyinzhiwei\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvipyinzhiwei%2Feyepetizer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvipyinzhiwei%2Feyepetizer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvipyinzhiwei%2Feyepetizer/lists"}