Skip to content
@Donut-DONationUTile

Donut

2024 GDSC Solution Challenge Top 100

DONUT-DONationUTile APK file Demo Video

“A shilling is the measure of less pleasure, or satisfaction of any kind, to a rich man than to a poor one. The happiness which an additional shilling brings to a poor man is much greater than that which it brings to a rich one.”

- Principles of Economics (8th ed.) PLL v6.0 (generated September, 2011) 16 -


🍩 Overview

Demo Video

DONUT is a sustainable donation platform tailored to the developmental characteristics of adolescents, providing a stigma-free process for beneficiaries.

By utilizing unused resources such as gift vouchers, amounting to 9 billion KRW annually in South Korea, it facilitates low-income youth to purchase groceries and essential items.



đź“‚ Table of Contents



🌏 Sustainable Development Goals (SDGs)

[1] No Poverty [12] Responsible Consumption and Production
End poverty in all its forms, everywhere. Ensure sustainable consumption and production patterns.



🛠️ Architecture



DONUT is comprised of a Client Application, Web Server, Database, Storage, and AI Server.

The Client Application is implemented on Android using Kotlin, with the MVVM architecture to separate UI logic from business logic and increase code reusability and scalability. Through various interactions with users, the Client Application forwards requests to the Web Server.

The Web Server processes client requests and can communicate with the AI Server in need. It is implemented based on Spring Boot and utilizes Redis for JWT processing. Both Spring Boot and Redis are deployed in Docker containers via GCP Compute Engine. CI/CD is established using GCP Code Build and Artifact Registry for agile development.

A MySQL 8.0-based GCP Cloud SQL instance serves as the main Database. GCP Cloud Storage is used for the Image bucket, where URLs of inserted objects are stored in the Database.

The AI Model, served by FastAPI, is hosted on a separate VM from the Web Server. It is also deployed using Docker in preparation for utilizing Kubernetes for resource management caused by an increase in the number of users. Low-resolution gift card images forwarded from the Web Server to the AI Server are enhanced to high resolution using TensorFlow’s ESRGAN model and then stored in the GCP Storage bucket. The URLs of the stored objects are also updated in the Database.



⚙️ Tech Stacks

image



🚀 How to Run

Client

Software requirement

  • Android studio Flamingo 2022.2.1
  • compileSdk 34 or higher
  • minSdk 33 or higher

Hardware requirement

  • CameraX supported Android Device within this link (CameraX is supported on most Android devices running Android 5.0 (API level 21) and higher.)

How to Run the Application

  1. Check the requirement above.
  2. Download the APK file on your Android device.
  3. Run the apllication from APK file

Server

Requirement

  • Account of Docker Hub

Local

  1. gradle build
  2. docker build -t yourAccount/yourRepository ./
  3. docker push yourAccount/yourRepository

Deploy

  1. create docker-compose.yml
  2. sudo docker pull yourAccount/yourRepository
  3. sudo docker tag yourAccount/yourRepository dockerImageName
  4. sudo docker-compose up

( docker-compose.yml that we created is on Server repository)



✨ How to Use DONUT



🌸 TEAM ZPE (0.8)

Client Server Server & AI UX & UI Design
Hyuna Kim Ganghee Lee Yensoo Kang Sohyun Kim

Popular repositories Loading

  1. Donut_Server Donut_Server Public

    Backend repository of DONUT-DONationUTile -2024 Solution Challenge Global top 10

    Java 4 1

  2. Donut_Android Donut_Android Public

    An android application that protects undernourished children from negative stigma by ensuring that surplus resources(mobile voucher) are donated to them.

    Kotlin 1

  3. Donut_AI Donut_AI Public

    AI repository of DONUT-DONationUTile -2024 Solution Challenge Global top 10

    Python

  4. .github .github Public

    Repository for Readme

Repositories

Showing 4 of 4 repositories
  • Donut_Android Public

    An android application that protects undernourished children from negative stigma by ensuring that surplus resources(mobile voucher) are donated to them.

    Donut-DONationUTile/Donut_Android’s past year of commit activity
    Kotlin 0 1 0 0 Updated Oct 23, 2024
  • Donut_Server Public

    Backend repository of DONUT-DONationUTile -2024 Solution Challenge Global top 10

    Donut-DONationUTile/Donut_Server’s past year of commit activity
    Java 4 1 8 0 Updated Jul 20, 2024
  • Donut_AI Public

    AI repository of DONUT-DONationUTile -2024 Solution Challenge Global top 10

    Donut-DONationUTile/Donut_AI’s past year of commit activity
    Python 0 0 2 0 Updated May 29, 2024
  • .github Public

    Repository for Readme

    Donut-DONationUTile/.github’s past year of commit activity
    0 0 5 0 Updated May 29, 2024

Top languages

Loading…

Most used topics

Loading…