Spotlight #1

The Paging3 is a jetpack library that allows us to easily load large datasets from the REST API Pixabay.

Spotlight #2

The Go4Lunch application is designed to be a collaborative application used by all employees. It allows you to search for a restaurant in the area, then select the one of your choice by sharing it with colleagues. In the same way, it's possible to consult the restaurants selected by colleagues in order to join them. Shortly before lunchtime, the application will notify the different employees to invite them to join their colleagues.

Spotlight #3

The RealEstateManager app is a property management application specifically developed for agents to efficiently manage their real estate portfolio. This app implement a two pane layout feature: Try me

Spotlight #4

The MaReu app is a meeting management application. The user have the possibilities to add/delete meetings but also filter them by date or location. This is my first application made from scratch, it allowed me to practice the MVVM architecture and Data Binding.


Projects list:

RealEstateManager

A Kotlin app that follows the MVVM architecture (with Clean Architecture elements) with DualPane, Flow, LiveData, Coroutines, WorkManager, Room, Maps SDK, and Places API use. You can check this Spotlight#3 for more information,

RoomSystem

A side project using an ESP32 with Bluetooth and Firebase access to learn Kotlin in an Android environment and IoT programming.

Go4Lunch

Android Java application in MVVM architecture with LiveData, Retrofit, FireBase, Workmanager, Maps SDK and Places API (web services) use. You can check this Spotlight#2 for more information.

MaReu

Mobile application made in JAVA. It gave me the opportunity to familiarize myself with the basic of Android components but also to discover the MVVM structure. You can check this Spotlight#1 for more information.

mattazerty.github.io

Overview of the different GitHub repositories in a website format (HTML5 UP design). Hosted with GitHub page.

Advent of code

Advent of Code is an Advent calendar of small programming puzzles who can be found here. I used these to practice fundamental concepts of Kotlin.

Todoc

Todoc is a task management application. Only, the data persistence remained to be developed. For this, we chose Room, a library that allows the implementation of a SQLite database. (Physical data model, class diagram and Use case were also made)

EntreVoisin

Also a forked project. This time the goal was to implement interactions with a RecyclerView and create a "detail" activity. Unit and instrumentation tests were also made for these new features.

MagicGithub

A forked project (listing fake GitHub users) to discover JAVA, Android project in MVC architecture and Git/GitHub use. I also added two features: delete a user and create a random user.

ViewPagerPractice

Discovery of fragments but also navigation between them with a ViewPager2 in the context of "MaReu" application. TabLayout, PageAdapter and Drawer were also tested.

Software testing:

JUnit, Mockito, and Espresso are tools that help to create and run software tests.
Unit tests check individual parts of the code and are run on a local machine (through a JVM), while instrumented tests check the overall functionality of the app on an Android device or emulator.
Both Unit tests and Instrumented tests are important as they help to improve the overall quality of the software, save time and money in the long run by identifying errors. Incorporating them into the development process can also serve as a guide for architectural refactoring and standardization, resulting in a more maintainable and readable codebase.



APK:

In addition to the APK, android studio allow also "App Bundles", a new way to distribute apps on the Play Store.
An app bundle is a file format that contains all the compiled code and resources of an app, but it allows Google Play to generate and serve optimized APKs for different devices.
Additionally, it provides more flexibility to manage and release apps, allowing different variations and configurations of the app in a single place.



Firebase:

Firebase is a mobile and web application development platform developed by Google.
It provides a variety of tools and services for building Backend-as-a-Service (BaaS) platform.
This allows developers to implement backend functionality such as real-time databases, authentication, and hosting.




Kotlin:

Kotlin is a modern programming language developed by JetBrains.
It's interoperable with Java, allowing developers to use both languages in the same project.
Kotlin's null safety feature helps prevent common errors and crashes in Android apps.
It also supports coroutines, making it easy to write asynchronous code that runs seamlessly on the UI thread,
extensions functions, lambdas, and other powerful constructs that simplify Android app development overall.