Skip to content

IbrahimExe/Wishlister

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

steam_logo_icon_206670

📱 Wishlister 📱

Wishlister is a sleek, Steam‑themed mobile app built with Kotlin and Android Studio, A cataloging app designed for gamers to track, rate, and review their personal game collection, played or soon to be, AAA or indie!

⚠️ This is a student project built entirely from scratch to practice Kotlin, Firebase integration, and Android UI/UX design. While it reuses some core concepts I learned during my To Do List App project, the Wishlister app was developed independently from the ground up!


✨ Key Features

Home & Collection View

On launch, you arrive at Your Collection:

  • A two‑column grid of tall, CD‑case‑style cards showing each game’s cover art made using Recycler Views.
  • If your collection is empty, a friendly message prompts you to add games.
Wishlister Intro

Search & Add Games

Tap Search Games to open a live‑search screen:

  • Type to filter 100+ popular and indie titles in real time.
  • Tap a result to add it instantly to your collection (marked “unplayed” by default).

Wishlister Search

Game Detail & Reviews

Select any game card to view its Detail screen:

  • Controller icon toggles between unplayed (white) and played (green).
  • Review box lets you type and save short notes.
  • Remove button deletes the game (and its review) from your collection.
  • The background blends the game’s cover art into a Steam‑style gradient.

Wishlister Game Detail

Polished UI & Animations

  • Steam‑inspired gradient backgrounds, rounded cards, and pill‑shaped buttons.
  • Logo fade‑in animation on the login screen.
  • Adaptive layouts ensure everything looks great on phones of all sizes.

Wishlister Outro


Firebase Logo

Firebase Integration

  • Authentication (Would create a unique username & password for each user - anonymous testing for this demo).
  • Realtime Database under /users/{uid}/games stores:
    • Game ID, name, played status, and review tied to each unique user (So Users can log in anywhere and keep thier notes saved!).
  • Live listeners keep your UI in sync whenever data changes.

Wishlister Firebase Features


Learning Outcomes

Through building Wishlister, I gained hands‑on experience with:

  • Kotlin fundamentals: data classes, null safety, ViewBinding, and Activity lifecycles
  • RecyclerView & Adapters: creating custom view holders, handling click events, and grid layouts
  • UI/UX Design: crafting custom drawables, gradient backgrounds, pill‑shaped buttons, and responsive layouts
  • Firebase Integration: setting up Realtime Database listeners, writing and reading structured data, and basic Authentication flows
  • Animations & Transitions: implementing fade‑in effects and visual polish for a more engaging user experience
  • Debugging & Data Handling: filtering out null or orphaned entries, handling async callbacks, and improving app stability.

📦 System Requirements

To run and build this project successfully, you’ll need the following setup:

Development Tools

  • Android Studio
  • Kotlin or Java (depending on your implementation)
  • Android device or emulator for testing

Required Versions

Dependency Version
agp 8.1.0
kotlin 2.0.21
core-ktx 1.16.0
junit 4.13.2
junitVersion 1.2.1
espresso-core 3.6.1
appcompat 1.7.1
material 1.12.0
activity 1.10.1
constraintlayout 2.2.1

About

A cataloging app designed for gamers to track, rate, review, and discuss games they've played / would like to play, be it indie or AAA!.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages