We’ve built a complete User Management System for you to use as a template and to help you learn several modern technologies faster, whether you are a beginner,intermediate or advanced developer. The app fully works and you can test the APK provided in the below.
This project is designed to teach you the following without delving into books or online articles:
- Full User Management System Creation. This includes Account Creation,Account Authentication,Account Viewing, Account Update, Account Deletion, Account Viewing.
- Highly efficient User Followership like Twitter. It’s efficient because we use the same user’s table to store relationship between users. Hence a User’s followers are fetched together with his/her other details.
- LRU Disk caching. Users are downloaded only once. They get cached on the disk. You can restart your device and browse the users without internet connectivity. If you make an update, we will refresh the cache automatically.
- One-Time Login. A User signs in only once. Then his/her details are stored in SharedPreferences. Next time he opens the app, we simply auto-sign him in. It’s similar to cookies in browsers.
- User Profile to View a user’s basic details, account details as well as followers. Followers are implemented in horizontal recyclerview with circular images and custom decoration.
- Just follow a given user from his/her detail page.
- Retrofit2 Multipart Operations. Upload images and text to server, update them, delete them, download them etc. You will learn full CRUD operation with mysql.
- Easy to understand PHP code. We write Object oriented PHP code and use RedbeanPHP. Our code therefore is intuitive and clean and even PHP newbies can understand.
- Beautiful Page Designs – Splash screen, Dashboard Screen, Profile Screen, Listings Screen, Detail Screen, Login Screen, SignUp Screen, Account Update Screen, Password Reset Screen etc.
- Data binding. No need to use findViewByIds again. Learn how to use it in a production app.
- Clean Architecture – Learn Model View ViewModel. Learn how to use APIs like MutableLiveData, ViewModel etc.
- Server Side Pagination – Our downloads are super-fast since we page data at the mysql level. We download only a limited amount of users at a time. We load more users as user scrolls. We also cache already downloaded users so you don’t have to download them again unless an update occurs.