Wassup, My name is Makson and I'm Android developer.
Currently working at EPAM.
You can find my CV here.
Unofficial android client for habr.com
In MainFlowScreen account name changes only after application restart.
After user is logged in the BottomNavigationBar account icon and title should be immediately changed. Icon should be changed from outlined to filled. Title should be change from "Account" string to user login.
We might add a bookmark action for saving article.
Bookmarking can be online (habr supports it) and offline, locally for app
At now it uses common fragment and different ViewModels. Now it is a good point to rework and join this ViewModels into one and separate logic in model layer.
If image have a description, we can also display it in the bottom of the content screen.
Define an api for a single post and add to the wiki pages
Example: https://habr.com/post/565084/
We should investigate the article body. If command line too big for a single line we should somehow break it or make it scrollable.
All caches clean after success result on articles request for the first page. At now all possible caches passes from constructor in ArticlesViewModel and makes it some complicated.
Move it to another class or maybe invoke broadcast receiver event.
Define an api for users and add to the wiki pages
After custom user requests in user screen title of account menu item in the bottom bar changes
At now the progress bar and errors snackbar displaying has a some bugs (the success parts of view are already visible)
Define an api for companies and add to the wiki pages
After voting any comment in the article, if the user rotates the screen, the current vote state disposes and shows the old one, so, here we should save comment vote scores in the local database.
This modules should contain builders for urls used in different api versions (mobile or native).
We might replace java-dependent retrofit with custom solution. This also helps us to migrate to MMP project
For example:
val url1 = HabrahabrNative.articles().article().getById(articleId).build(userSession)
val url2 = HabrahabrNative.articles().top().daily().get(page).build(userSession)
val url3 = HabrahabrNative.articles().article().voteUp(articleId).build(userSession)
val url4 = HabrahabrNative.articles().article().comments(articleId).getAll().build(userSession)
val url5 = HabrahabrNative.comments().comment().getById(commentId).build(userSession)
Add a options menu button to the toolbar
In the article screen content (image, for example) may be fully loaded and visible or hidden.
We should add a progress bar for indicate that content is loading now and placeholder with retry button for any exception. Also we can display some exception info as an error description
Currently the links on the other habr articles or comments or something else in comments or articles opens through a browser.
We should process and open those links in our app, that allows for users doesn't leave our app so quickly.
Here we can disable allowing main thread queries for cache database and allow for a special database which should contains only user session data
Define an api for news and add to the wiki pages
Define an api for polls and add to the wiki pages
On any hyperlink click in article we should display an alert dialog with various actions, like, open link in browser, copy or share, e.t.c.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.