Skip to content

APACSolutionChallenge-PricePal/PricePal_Android

Repository files navigation

PricePal Android

This is the Android repository for the "PricePal" project.

PricePal 🌍 is a travel price guide app for travelers abroad.

It offers currency conversion, local price comparisons, and taxi fare predictions.


🌏 PricePal

Want to avoid getting ripped off while traveling abroad?
PricePal is your travel price guide app that helps you check local prices at a glance, convert currencies, and estimate taxi fares.

  • ✅ Real-time exchange rates by country
  • 🛒 Local price comparison list
  • 🚖 Taxi fare estimation based on departure and destination
  • 📍 Route visualization using Google Maps

Built with Android (Jetpack Compose) + Spring Boot REST API

PricePal Logo


📌 Checking progress

  • To see detailed progress on Notion. -> Notion

🙌 Introduce FE Developers

나현주(Hyeonjoo Na) 홍지현(Jihyun Hong)
@HyeonJooooo @Hongji03

Tech Stack

Here is a table summarizing the tech stack used for implementing the project.

Name Detail
Kotlin Programming Language
Jetpack Compose In-code declarative app architecture
Git Systematic code management and collaboration

This project includes the following library dependencies.

Name Version Detail
Jetpack Navigation 2.0.21 A library for screen transition management
Hilt 2.51.1 A library for dependency injection
Retrofit2 2.11.0 A library for HTTP communication
SharedPreference 1.2.1 A library for local data storage
Room 2.6.1 Local database library
Android JUnit 1.2.1 A library for unit testing

This project is based on a multi-module architecture and follows the MVVM design pattern using ViewModels.

Conventions

The following are the conventions that developers contributing to this project must follow.

Branch

This project follows the Gitflow branch strategy.

브랜치 전략 설명 이미지
  • master: Deployable branch unit
  • release: A branch that allows testing before deployment
  • develop: Development branch
  • feature/#issue_number: Feature-specific branch
  • hotfix: Hotfix branch for the master branch

All feature development follows the process below:

  1. Create an issue for the feature to be developed and obtain an issue number.
  2. Branch off from the develop branch and create a feature branch named using the issue number.
  3. Once development is complete, open a pull request to the develop branch. After receiving team approval, merge the changes.

Commit

Commits are written visually using Gitmoji. Below is the commit format used in this project. Please note that an empty line is included between each section.

[Gitmoji] [title]

[content]

[Issue reference (optional)]

예시)

:bug: Fix button bug

Fixed an issue where the keyboard callback was not triggered.

Refs: #123, #234

Refer to this blog for the meaning of each Gitmoji.
You can conveniently use Gitmoji with the Gitmoji Plus: Commit Button plugin provided by Android Studio.

Issue

Issues must be created using the appropriate issue template provided in this repository.

  • Feature Template: Used for issues related to feature additions.
  • Bug Template: Used for issues related to bug fixes.

Pull Request

Pull requests must be created using the template provided in this repository.

Code

The code style follows the official Android Kotlin style guide as closely as possible.
Below are the key naming conventions:

  • All source files must be encoded in UTF-8.
  • Kotlin file names should use PascalCase whenever possible.
  • Composable function names should use PascalCase. Other functions should start with a verb and use camelCase. Variable names should also follow camelCase (including variables storing lambda expressions).
  • Variables that pass callback functions should start with on, e.g., onButtonClicked, onDataLoaded.
  • Pay attention to yellow underlines in the Android Studio IDE.

Environment

Here is the Android development environment for this project:

  • targetSDK: 35, minSDK: 26
  • Android Studio version: Ladybug | 2024.2.1 or higher
  • Testing environment: Android Studio emulator (AVD)
    • Device name: Pixel 8
    • API 35 (Android 15.0, x86_64)
    • 1080 x 2400 px (412 x 915 dp)

About

This is the PricePal Android repository.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages