Skip to content

GDSC-DGU/2025-APAC-SolutionChallenge-Greenap

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

2025-APAC-SolutionChallenge-Greenap

img.png img.png

Flutter Spring Boot Kotlin MySQL Redis

Reducing digital carbon footprints through eco-friendly challenges

📋 Table of Contents

Greener Member

We’d like to introduce the Greener from the 2025 APAC Solution Challenge. Our team combines expertise in Frontend, Backend, AI, and design to build an app that makes sustainable habits easy and fun.

Client Server AI Design
JUNGSUN LEE HYUNSEOK OH MINGI HONG HYEJEONG YOON

Overview

Greenap is a mobile application designed to help users reduce their digital carbon footprint by participating in eco-friendly challenges. The application enables users to join sustainability initiatives, track their progress, and get certified for their eco-friendly actions.

https://deepwiki.com/GDSC-DGU/2025-APAC-SolutionChallenge-Greenap/1-overview

Features

  • Participate in eco-friendly challenges
  • Track challenge progress
  • Certification for challenge completion
  • Social feed for community engagement
  • Points and rewards system
  • User rankings

Architecture

Greenap follows a client-server architecture with:

  • Flutter mobile application frontend
  • Kotlin Spring Boot backend
  • MySQL for persistent storage
  • Redis for caching and ranking functionality

Technologies

Component Technology Purpose
Backend Spring Boot 3.4.4 with Kotlin 1.9.25 Server application framework
Frontend Flutter with GetX Mobile application framework
Primary Database MySQL 8.0 Persistent data storage
Cache Redis Ranking and caching
Storage Google Cloud Storage Media file storage
Authentication OAuth2 with JWT User authentication
API Documentation Swagger/OpenAPI API documentation

Domain Model

The core domain model consists of several key entities that work together to provide the challenge participation and certification functionality:

img.png

Challenge Categories

Greenap organizes challenges into four main categories that target different aspects of environmental sustainability:

  1. Energy Saving
  2. Waste Reduction
  3. Green Transportation
  4. Digital Minimalism

User Flow

Users participate in challenges through a defined flow that tracks their progress from joining a challenge to completing it:

  1. Browse available challenges
  2. Join a challenge
  3. Perform the eco-friendly action
  4. Submit certification evidence
  5. Receive verification
  6. Earn points and rewards
  7. Track progress on leaderboards

Certification Process

certificationProcess.png

A key component of Greenap is the challenge certification process, which verifies user participation:

  • Users submit photos or other evidence of completion
  • System validates the submission
  • Points are awarded upon successful verification
  • Completed challenges contribute to user rankings

Client Architecture

The mobile client is built with Flutter using the GetX framework for state management and navigation.

clientArchitecture.png

The client follows the MVVM (Model-View-ViewModel) pattern:

  • Models: Data structures representing challenges, users, etc.
  • Views: UI components rendered to the user
  • ViewModels: Business logic handling data processing and state management

Key screens include:

  • Challenge discovery
  • Challenge details
  • Certification submission
  • User profile
  • Social feed
  • Rankings

Server Architecture

The server is built with Spring Boot and Kotlin, following a layered architecture with ports and adapters pattern:

serverArchitecture.png

  • UI Layer: Controllers handling HTTP requests
  • Application Layer: Services implementing business logic
  • Domain Layer: Core business entities and logic
  • Infrastructure Layer: External service integration

The server implements several key service components:

  • User management
  • Challenge management
  • Certification processing
  • Points calculation
  • Rankings generation
  • Event-driven notifications

Deployment

greenap_architecture.png The application is designed for cloud deployment, with Docker containerization for the server component:

  • Containerized server application
  • Cloud-based database services
  • Cloud storage for media files
  • CI/CD pipelines for continuous deployment

Demo Video Link

Demo Video

Getting Started

Prerequisites

  • Flutter SDK
  • JDK 17 or higher
  • MySQL 8.0
  • Redis
  • Docker (optional)

Installation

  1. Clone the repository
git clone https://github.com/GDSC-DGU/2025-APAC-SolutionChallenge-Greenap.git
  1. Set up the server
cd server
./gradlew bootRun
  1. Set up the client
cd client
flutter pub get
flutter run

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License.


Developed by GDSC-DGU for the 2025 APAC Solution Challenge

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •