Skip to content

pablo7843/StarWarsApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌌 Star WikiWars

> ACCESSING_GALACTIC_DATABASE...

Kotlin Android Room Retrofit SWAPI Status

App nativa Android para explorar el universo Star Wars. Consulta personajes, sus detalles completos y guarda tus favoritos para acceder offline.

🐛 Reportar Bug · 💡 Solicitar Feature


📋 Tabla de Contenidos


📖 Descripción

Star WikiWars es una aplicación Android nativa desarrollada en Kotlin que consume la API pública de Star Wars (SWAPI) para mostrar información detallada de los personajes de la saga. Implementa la arquitectura MVVM con Android Jetpack, Room para persistencia local de favoritos y Retrofit para las llamadas a la API.


✨ Características

  • Lista de personajes — Todos los personajes de la saga con imagen y datos básicos.
  • Detalle completo — Altura, peso, planeta natal, especie, fechas, afiliaciones y películas.
  • Favoritos offline — Guarda personajes con Room para consultarlos sin conexión.
  • Imágenes optimizadas — Carga eficiente con Glide y fotos centradas en cualquier dispositivo.
  • Listas eficientes — RecyclerView con ListAdapter y DiffUtil para scroll fluido.

🛠️ Stack Tecnológico

Módulo Tecnología Uso
Lenguaje Kotlin Lógica de negocio y UI
Arquitectura MVVM + Android Jetpack Separación de responsabilidades
Persistencia Room (SQLite) Almacenamiento de favoritos
Red Retrofit + OkHttp Llamadas a la API REST
Imágenes Glide Carga y caché de imágenes
UI Fragments + RecyclerView Navegación y listas
Async LiveData + ViewModel Estado reactivo

🏗️ Arquitectura MVVM

┌─────────────────────────────────────────┐
│               UI Layer                  │
│  CharacterFragment · DetailFragment     │
│  FavouriteFragment                      │
└──────────────┬──────────────────────────┘
               │ observa LiveData
┌──────────────▼──────────────────────────┐
│            ViewModel Layer              │
│  CharacterDetailViewModel               │
└──────────────┬──────────────────────────┘
               │
       ┌───────┴────────┐
       │                │
┌──────▼──────┐  ┌──────▼──────┐
│  Repository │  │  Repository │
│  (Network)  │  │   (Local)   │
└──────┬──────┘  └──────┬──────┘
       │                │
┌──────▼──────┐  ┌──────▼──────┐
│   Retrofit  │  │    Room     │
│    SWAPI    │  │  Database   │
└─────────────┘  └─────────────┘

🚀 Instalación

Prerrequisitos

  • Android Studio Hedgehog o superior
  • Android SDK 24+
  • Conexión a internet para cargar datos de la API

Pasos

# 1. Clonar el repositorio
git clone https://github.com/pablo7843/StarWarsApp.git

# 2. Abrir en Android Studio
# File > Open > selecciona la carpeta StarWarsApp

# 3. Sincronizar Gradle
# Android Studio lo hace automáticamente al abrir

# 4. Ejecutar
# Run > Run 'app' (o Shift + F10)

No se necesitan claves de API. La app consume SWAPI que es pública y gratuita.


📂 Estructura del Proyecto

StarWarsApp/
├── app/
│   └── src/main/
│       ├── java/
│       │   └── com.pablo.starwarsapp/
│       │       ├── ui/
│       │       │   ├── CharacterFragment.kt
│       │       │   ├── FavouriteFragment.kt
│       │       │   └── CharacterDetailFragment.kt
│       │       ├── adapters/
│       │       │   ├── CharacterAdapter.kt
│       │       │   └── FavouriteCharacterAdapter.kt
│       │       ├── viewmodel/
│       │       │   └── CharacterDetailViewModel.kt
│       │       ├── data/
│       │       │   ├── local/
│       │       │   │   └── AppDatabase.kt
│       │       │   └── remote/
│       │       │       └── SwapiService.kt
│       │       └── model/
│       │           └── Character.kt
│       └── res/                 # Layouts, drawables, strings
├── gradle/
└── build.gradle.kts

🌐 APIs Utilizadas

API URL Datos
SWAPI https://swapi.dev/api/ Personajes, especies, planetas
Akabab Star Wars API https://akabab.github.io/starwars-api/ Imágenes y datos de películas

Ambas APIs son públicas y gratuitas, no requieren autenticación.


📡 Roadmap

  • Lista de personajes con imágenes
  • Detalle completo del personaje
  • Favoritos con Room (offline)
  • Arquitectura MVVM
  • Búsqueda por nombre, especie o planeta
  • Filtrado por afiliación (Jedi, Imperio, Rebeldes…)
  • Animaciones entre pantallas
  • Caché de imágenes para uso offline

👤 Autor

Pablo Climent

Portfolio LinkedIn GitHub


GALACTIC_DB: CONNECTED · CHARACTERS_LOADED · FAVOURITES: ENCRYPTED_LOCAL

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages