Skip to content

🌙 This Android app uses Paging 3 library to fetch the data from our own REST API server developed with Ktor framework.

License

Notifications You must be signed in to change notification settings

betulnecanli/SailorMoonApp

Repository files navigation

🌙 Sailor Moon App

This is an Android app built with Android Libraries like Retrofit, Room, Coil etc. It uses Paging 3 library to fetch the data from our own REST API server developed with Ktor framework.


👉 Here is the Sailor Moon Server GitHub Repo.

🖼 Preview

Splah Screen Characters List Character Detail

Features⭐

  • Display a list of Sailor Moon characters with their names and images.
  • View detailed information about each Sailor Moon character.

Architecture ☁

This app follows the MVVM (Model-View-ViewModel) architecture pattern. The components of the app are organized as follows:

  • Model: The data source for the app is the PokeAPI, which provides information about Sailor Moon characters in JSON format. The app uses Retrofit to make network requests to the SailorMoonAPI and Gson to deserialize the JSON responses into Java objects.

  • View: The views in the app are implemented using Android's XML layout files. The main activity (MainActivity) contains a RecyclerView that displays a list of Sailor Moon characters, and a search bar that allows users to filter the list by name. Clicking on a character in the list navigates the user to the CharacterDetailFragment, which displays detailed information about the selected character.

  • ViewModel: The CharacterViewModel class acts as an intermediary between the model and the view. It retrieves data from the model and exposes it to the view through observable data fields. It also provides methods for filtering the character list based on user input.

Getting Started 🚀

To run this app, you'll need to have Android Studio installed. Follow these steps to get started:

📚 Tech Stack

  • Retrofit
  • Paging3
  • ViewBinding
  • Flows
  • Coil
  • Dagger Hilt
  • Coroutines
  • Mockito
  • Mockk
  • Espresso

License

Designed and developed by 2023 Betül Necanlı 

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

About

🌙 This Android app uses Paging 3 library to fetch the data from our own REST API server developed with Ktor framework.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages