Skip to content
/ Gifft Public

Android app for sending and receiving real gifts in virtual wrapping

License

Notifications You must be signed in to change notification settings

SIDOVSKY/Gifft

Folders and files

NameName
Last commit message
Last commit date

Latest commit

f10f5f5 ยท Jan 13, 2022
Sep 22, 2021
Jun 25, 2020
Jan 13, 2022
Sep 21, 2021
Jun 27, 2020
May 24, 2020
Jan 13, 2022
Jan 13, 2022
Dec 1, 2021
Jan 13, 2022
Sep 22, 2021
Jan 13, 2022
Jun 25, 2020
Jan 13, 2022
Jan 13, 2022
Jan 13, 2022
Jan 13, 2022
Jan 13, 2022
Sep 22, 2021
Jun 27, 2020
Jan 13, 2022
Jan 13, 2022
Sep 22, 2021
Apr 27, 2020
Apr 27, 2020
Oct 10, 2021

Repository files navigation

Gifft

Gifft ๐ŸŽ

PLATFORM API

Gifft is a work-in-progress app to exchange gifts in a digital way. Simply enter a textual representation of your gift, sign it and share via sms, e-mail or your favorite messenger. When a recepient opens your link, he or she will see a gift box. It will be opened with a festive confetti.

Supported gift types for now:

  • Text
  • Photo
  • Video

AR unwrap is under development!

Development

The app is entirely written in Kotlin.

Architecture: multimodule, MVVM (without android arch components)

Multimodule Navigation is provided via dagger multibindings and a special all-knowing fragment factory.

Libraries and tools

  • Kotlin Coroutines
  • Kotlin Flows
  • AndroidX
  • Material Components
  • Dagger2
  • ObjectBox
  • Firebase Dynamic Links
  • Lottie
  • Lint: Android Lint, Detekt
  • Unit Tests: Junit 4, Mockito
  • Integration Tests: Robolectric 4
  • UI Tests: Espresso + Kakao

Development setup

  • Add debug and release keystores and debugKeystore.properties, releaseKeystore.properties
  • appCenterUploadRelease task requires APPCENTER_API_TOKEN parameter or environment variable

CI setup

  1. Build docker images from ANDROID-SDK dockerfile and JENKINS dockerfile like this:
docker build -t sidovsky/android_sdk .
docker build -t sidovsky/jenkins .
  1. Run jenkins container
docker run --name jenkins -it -p 8080:8080 -p 50000:50000 -v $HOME/jenkins:/var/jenkins_home --group-add 0 -v /var/run/docker.sock:/var/run/docker.sock -d sidovsky/jenkins
  1. Add .jks and *Keystore.properties files under keystore and ksProperties variables
  2. In jenkins job config specify target branch and an appropriate pipeline

Contributions

If you've found an error, please file an issue.

Patches are encouraged, and may be submitted by forking this project and submitting a pull request. Since this project is still in its very early stages, if your change is substantial, please raise an issue first to discuss it.

License

This project is licensed under the Apache License, Version 2.0 - see the LICENSE file for details.

About

Android app for sending and receiving real gifts in virtual wrapping

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published