Skip to content

Aplikasi TodoList Android menggunakkan Code Igniter4 berbasis Restful-API. Aplikasi TodoList ini menggunakan Sistem Autentication 2nd (JavaMail API) dan Upload Gambar dengan Framework CodeIgniter 4. Proses BackEnd dari Restful-API menggunakan Code Igniter4 dapat dilihat pada link berikut : https://github.com/sabo99/codeigniter4_RestfulAPI_TodoList

License

Notifications You must be signed in to change notification settings

sabo99/TodoList-CI4-Restful

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TodoList-CI4-Restful

Aplikasi TodoList Android menggunakkan CodeIgniter4 berbasis Restful-API.

Proses BackEnd dari Restful-API menggunakan CodeIgniter4 pada link berikut : https://github.com/sabo99/codeigniter4_RestfulAPI_TodoList

Fitur Aplikasi TodoList :

  • CodeIgniter4
    • Upload Image (MultiPart)
    • Restful API (POST | GET | PUT | DELETE)
  • API JavaMail (Gmail Verification Code)
    • Log In with 2nd Auth
    • Edit User
  • SweetAlertDialog
    • Modal Dialog with Custom Content View
    • Message Dialog
    • Loading Dialog
  • Lottie Animation
    • Response Code : 404 | 500

Important!

Config JavaMail APIs

In the file Credentials.kt change the following line with the email that will be used as Sender

object Credentials {
    const val EMAIL_SENDER = "your_email"
    const val PASSWORD_SENDER = "your_password"
}

Change API BASE URL

Change the API BASE URL in the following file RestfulAPIService.kt

class RestfulAPIService {
    companion object {
        private const val URL = "http://192.168.1.8/ci4todolist-restfulapi/public/"
    }
}

Dependencies used

    implementation 'com.squareup.retrofit2:retrofit:2.9.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
    implementation 'com.github.thomper:sweet-alert-dialog:1.4.0'
    implementation 'de.hdodenhof:circleimageview:3.1.0'
    implementation 'com.squareup.picasso:picasso:2.71828'
    implementation 'com.facebook.shimmer:shimmer:0.5.0'
    implementation "com.airbnb.android:lottie:3.7.1"
    implementation 'org.greenrobot:eventbus:3.2.0'
    implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
    api 'com.theartofdev.edmodo:android-image-cropper:2.8.+'

    implementation 'com.sun.mail:android-mail:1.6.0'
    implementation 'com.sun.mail:android-activation:1.6.0'

Integration Step Used Binding in Kotlin

  1. Add viewBinding = true build.gralde (Module)
android {

   buildFeatures {
      viewBinding = true
   }
}
  1. Activity Kotlin Class
class MainActivity : AppCompatActivity() {

    /** Add this */
    private lateinit var binding: ActivityMainBinding

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        /** Add this */
        binding = ActivityMainBinding.inflate(layoutInflater)
        /** Change this */
        setContentView(binding.root)

        /** Without findViewById */
        binding.textView.text = "Bye bye findViewById"
    }
}
  1. Activity Java Class
public class MainActivity extends AppCompatActivity {

    /** Add this */
    private ActivityMainBinding binding;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        /** Add this */
        binding = ActivityMainBinding.inflate(getLayoutInflater());
        /** Change this */
        setContentView(binding.getRoot());

        /** Without findViewById */
        binding.textView.setText("Bye bye findViewById");
    }
}

binding in kotlin can be used directly without initializing findViewById on widgets in layout xml



Design UI App TodoList

Login (Activity)

Forgot Password (Modal / SweetAlertDialog)

Setelah meng-input email address yang telah terdaftar di database pada form email (Forgot Password), sistem akan mengirimkan kode verifikasi melalui email tersebut dengan tampilan UI seperti dibawah ini

Kemudian user (pengguna) diminta untuk menginputkan password baru beserta kode verifikasi yang telah dikirimkan melalui email.

SignUp (Activity)

Main / Home (Activity)

Create Todo (Activity with Modal / SweetAlertDialog)

Detail Todo (Activity)

Edit Todo (Activity with Modal / SweetAlertDialog)

Delete Todo (Modal / SweetAlertDialog)

Profile (Activity)

Edit Profile (Activity with Card)

Edit Username (Modal / SweetAlertDialog)

Edit Email (Modal / SweetAlertDialog)

Setelah menginput "new email address" dan "current password", sistem akan mengirimkan kode verifikasi melalui email tersebut dengan tampilan UI seperti dibawah ini

Kemudian user (pengguna) diminta untuk melakukan validasi terhadap kode verifikasi yang telah dikirimkan melalui email.

Edit Password (Modal / SweetAlertDialog)

Two Factor Authentication (Modal / SweetAlertDialog)

Setelah menginput "current password", sistem akan mengirimkan kode verifikasi melalui email tersebut dengan tampilan UI seperti dibawah ini

Kemudian user (pengguna) diminta untuk melakukan validasi terhadap kode verifikasi yang telah dikirimkan melalui email.

Delete Account (Modal / SweetAlertDialog)

Log Out (Modal / SweetAlertDialog)

About

Aplikasi TodoList Android menggunakkan Code Igniter4 berbasis Restful-API. Aplikasi TodoList ini menggunakan Sistem Autentication 2nd (JavaMail API) dan Upload Gambar dengan Framework CodeIgniter 4. Proses BackEnd dari Restful-API menggunakan Code Igniter4 dapat dilihat pada link berikut : https://github.com/sabo99/codeigniter4_RestfulAPI_TodoList

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages