{"id":13756526,"url":"https://github.com/wingjay/jianshi","last_synced_at":"2025-04-08T13:03:15.788Z","repository":{"id":88655340,"uuid":"43634704","full_name":"wingjay/jianshi","owner":"wingjay","description":"A Full-Stack mobile app, including Android \u0026 Server, Simple-Poem 简诗. You can write poem in graceful \u0026 traditional Chinese style.","archived":false,"fork":false,"pushed_at":"2018-08-17T05:23:25.000Z","size":68064,"stargazers_count":1858,"open_issues_count":16,"forks_count":443,"subscribers_count":75,"default_branch":"master","last_synced_at":"2025-04-01T12:00:28.677Z","etag":null,"topics":["full-stack","server-android"],"latest_commit_sha":null,"homepage":"http://www.jianshu.com/p/cf496fc408b2","language":"Java","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/wingjay.png","metadata":{"files":{"readme":"README.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":"2015-10-04T11:49:14.000Z","updated_at":"2025-03-18T02:02:31.000Z","dependencies_parsed_at":"2023-04-03T22:18:36.270Z","dependency_job_id":null,"html_url":"https://github.com/wingjay/jianshi","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/wingjay%2Fjianshi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wingjay%2Fjianshi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wingjay%2Fjianshi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wingjay%2Fjianshi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wingjay","download_url":"https://codeload.github.com/wingjay/jianshi/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247847601,"owners_count":21006099,"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":["full-stack","server-android"],"created_at":"2024-08-03T11:00:46.201Z","updated_at":"2025-04-08T13:03:15.734Z","avatar_url":"https://github.com/wingjay.png","language":"Java","funding_links":[],"categories":["Java","Libs"],"sub_categories":["\u003cA NAME=\"App\"\u003e\u003c/A\u003eApp"],"readme":"#  JianShi 简诗\n\nA Full-Stack mobile app, including Android side \u0026 Server side, Simple-Poem 简诗. You can write poem in graceful \u0026 traditional Chinese style. It supports signup \u0026 login, data sync with server, offline data storage, screenshot share etc.\n\n一款优雅的中国风Android App，包括Android端和Server端，支持登录注册，数据云端同步，离线数据存储和截屏分享等功能。\n\n[中文说明](https://github.com/wingjay/jianshi/blob/master/CN_README.md)\n\n\n\u003ca href=\"https://play.google.com/store/apps/details?id=com.wingjay.android.jianshi\"\u003e\u003cimg alt=\"Google Play\" src=\"https://play.google.com/intl/en_us/badges/images/generic/en-play-badge.png\" height=50px/\u003e\u003c/a\u003e\n\n[下载地址: Fir.im](http://fir.im/vd1r)\n\n\n\n# Technology JianShi used\n### Android side\n\nJianshi depends on the most popular Android libraries to build Stable and Clean structure.\n\n- Database:           `DBFlow` to manage sqlite database;\n- Network:            `OkHttp3` \u0026 `Retrofit2`, and `Stetho` to debug http requests;\n- Rx:                 `RxJava` \u0026 `RxAndroid`;\n- Dependency Inject:  `Dagger2`;\n- Logging:            `Timber`;\n- Image loading:      `Picasso`;\n- Crash monitor:      `Crashlytics`;\n- other:              `Eventbus`.\n\nThanks [`Square`](https://github.com/square) for their great libraries.\n\n### Server side\n\nJianshi depends on Python \u0026 Flask.\n\nThe server architecture is:\n\n- www layer: used to receive all http request, process parameters, and call logic layer api for furthure process;\n- logic layer: used to process heavy service logic, when there are database actions, it will call db layer;\n- db layer: used to wrap our database related actions.\n\n\n# Android UI\n\n\u003cimg src=\"material/screenshots/with_phone/1.PNG\" width = 400\u003e\n\u003cimg src=\"material/screenshots/with_phone/2.PNG\" width = 400\u003e\n\u003cimg src=\"material/screenshots/with_phone/3.PNG\" width = 400\u003e\n\u003cimg src=\"material/screenshots/with_phone/4.PNG\" width = 400\u003e\n\u003cimg src=\"material/screenshots/with_phone/7.PNG\" width = 400\u003e\n\u003cimg src=\"material/screenshots/with_phone/8.PNG\" width = 400\u003e\n\n\u003cimg src=\"material/screenshots/with_phone/6.png\" width = 400\u003e\n\u003cimg src=\"material/screenshots/3.png\" width = 400\u003e\n\n\u003cimg src=\"material/screenshots/with_phone/5.jpg\" width = 600\u003e\n\u003cimg src=\"material/screenshots/shareImage.png\" width = 800\u003e\n\n# Chinese Blog for jianshi\n[如何在一天之内完成一款具备cool属性的Android产品_简书](http://www.jianshu.com/p/cf496fc408b2)\n\n\n# Contributor\nWe build Android \u0026 Server together for JianShi.\n[wingjay](https://github.com/wingjay), [RayPan](https://github.com/Panl). \n\n\n# Development History \n\nI use my extra time for this project development, so the development process doesn't go very fast.\n\n- __[2016/11/06] Configure aliyun cloud server; Deploy application by jenkins; Setup Nginx \u0026 gunicorn; Finish unit-test for signup \u0026 data sync logic__\n- __[2016/10/30] Design for signup \u0026 login; Screenshot for share; Other cool features__\n- __[2016/10/25] Data sync between android and server; Improve server error handling function \u0026 config mechanism. [Server+Android]__\n- __[2016/09/03] User managment in server side and Signup \u0026 Login flow in Android side. [Server+Android]__\n- __[2016/08/25] Migrate from `LeanCloud` to `Apache + Mysql + wsgi + Flask` and build my own server framework. [Server]__\n- __[2016/08/20] Build server side framework. Using `LeanCloud` \u0026 `Python`. [Server]__\n- __[2016/08/18] Integrate Dagger Retrofit2 OkHttp3 RxJava etc. [Android]__\n\n\n# Inspired By\n[《Producter》](http://producter.io/)\n\n# License\nApache\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwingjay%2Fjianshi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwingjay%2Fjianshi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwingjay%2Fjianshi/lists"}