Skip to content

Repository files navigation

Sabor Digital

A native Android app for browsing, searching, and creating recipes — the mobile client for the recipe-app-api backend. Built as the final project for a Mobile Application Development (DAM) course at IPT.

"Sabor Digital" is Portuguese for "Digital Flavor" — the app's UI is in Portuguese.

Features

  • Account system — register, login (JWT-backed), logout, and a user agreement/consent screen
  • Recipe browsing — home feed, full recipe list, and detailed recipe view with ingredients and step-by-step instructions
  • Search & filtering — find recipes by name, ingredient, or category
  • Recipe creation — compose a recipe with ingredients, instructions, difficulty, servings and prep time, including a photo taken directly via the device camera
  • Profile management — view profile, change password, delete account
  • Image handling — recipe/ingredient photos loaded with Glide, captured/cropped via CameraX

Tech stack

Layer Technology
Language Kotlin
UI Android Views (Fragments) + Jetpack Compose (mixed)
Networking Retrofit2 + Gson
Images Glide, CameraX, ExifInterface
Min / Target SDK 25 / 34
Backend recipe-app-api (FastAPI + SQL Server)

Project structure

app/src/main/java/pt/ipt/dam/sabordigital/
├── data/
│   ├── remote/
│   │   ├── api/       # Retrofit service interfaces (Auth, User, Recipe, Category, Ingredient)
│   │   └── models/    # DTOs shared with the API
│   └── retrofit/      # Retrofit client setup (base URL, Gson config)
├── ui/
│   ├── auth/           # Login, Register
│   ├── main/            # Home, Profile, Recipe list/details/creation
│   └── theme/          # Compose theming
└── utils/

Getting started

Prerequisites

  • Android Studio (recent version, AGP compatible with Kotlin/Compose as pinned in gradle/libs.versions.toml)
  • Android SDK 34, min supported device/emulator on SDK 25+

Setup

git clone https://github.com/viribusegovis/sabor-digital-android.git

There is no hosted backend anymore, so you'll need to run recipe-app-api yourself before the app will work.

Backend

The API's base URL is set in RetrofitInitializer.kt via the host value. Point it at your local server's address, e.g. http://10.0.2.2:8080 for the Android emulator.

Run

Build and run the app module from Android Studio, or via Gradle:

./gradlew installDebug

License

Apache License 2.0

About

Native Android (Kotlin) client for a recipe app - browse, search, and create recipes, backed by the recipe-app-api.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Contributors

Languages