Let’s look at a template you can use in creating any type of project that requires Kotlin PHP MySQL CRUD multipart as well as authentication, with advanced features like Disk caching, Pagination and Data Binding. You can use it in any project but for us we use the concept of a
Famous Paintings app. An app that admins can post paintings, update them and delete them for other people to view. It’s a full android app covering major concepts. You can use it to learn full app android development as well.
What You will Learn
As a template and learning project, this app has been designed to mainly teach you the following concepts:
- Full App Android Development using Kotlin, PHP and MySQL.
- How to use Fast Networking Library to interact with RESTFul services.
- How to perform CRUD operations involving both images and text agains PHP MySQL server. Learn how to efficiently upload images alongside text, while showing upload progress. Also how to update, delete and download.
- How to write a full android app using Model View ViewModel and see it’s benefits with regards to seperation of concerns.
- How to create a highly fast and bandwith friendly android app making use of permanent Disk caching and that avoids unnecessary calls to the server. We rarely make calls to the server. We paginate our data. When we make a call, we send only single requests that do only a single thing in the server, ensuring fast response times from the server.
- How to make an app that is scalable and that can be hosted even in the cheapest of webhosts yet easily server hundreds of thousands of users. We do this by ensuring that the app is offline-first, downlaods data in chunks and doesn’t make a request to the server unless a user performs an action that requires we connect. This is mostly leaves our server untouched for other users to use. The data including the details of lists are cached permanently on disk, and gets auto-refreshed if we make a change or hit the refersh button.
- Learn to make an android mysql app that has authentication. Where admins can login into the app and do stuff and even view their account details. Other users on the other hand can only view data but not make an edit.
- Learn how to make an android app that has several pages like Splash screen, Dashboard page, Upload page, listings page, details page, login page as well as Accounts Page. Yet we abstract away the similarities in Base Activities, and take advantage of inheritance to pass over those properties to the child activities.
- Learn to create an app with several material widgets like material edittexts, material dialogs, material datepicker, collapsing toolbar layouts etc.
- Learn to create an animated app, with beautiful transition animations between pages. The pages slide beautifully in and out of view.
- Learn how to create an app that can interact with both secure https and non-secure http content (ClearText traffic).
- And many more.
Here are technologies you will learn from the project:
- Kotlin Programing Language.
- Object Oriented PHP 7.2
- RedbeanPHP ORM
- Model View ViewModel
- Data Binding
- Fast Networking Library
Read technical details about this project HERE.