- Greener Member
- Overview
- Features
- Architecture
- Technologies
- Domain Model
- Challenge Categories
- User Flow
- Certification Process
- Client Architecture
- Server Architecture
- Deployment
- Getting Started
- Contributing
- License
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 |
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
- Participate in eco-friendly challenges
- Track challenge progress
- Certification for challenge completion
- Social feed for community engagement
- Points and rewards system
- User rankings
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
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 |
The core domain model consists of several key entities that work together to provide the challenge participation and certification functionality:
Greenap organizes challenges into four main categories that target different aspects of environmental sustainability:
- Energy Saving
- Waste Reduction
- Green Transportation
- Digital Minimalism
Users participate in challenges through a defined flow that tracks their progress from joining a challenge to completing it:
- Browse available challenges
- Join a challenge
- Perform the eco-friendly action
- Submit certification evidence
- Receive verification
- Earn points and rewards
- Track progress on leaderboards
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
The mobile client is built with Flutter using the GetX framework for state management and navigation.
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
The server is built with Spring Boot and Kotlin, following a layered architecture with ports and adapters pattern:
- 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
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
- Flutter SDK
- JDK 17 or higher
- MySQL 8.0
- Redis
- Docker (optional)
- Clone the repository
git clone https://github.com/GDSC-DGU/2025-APAC-SolutionChallenge-Greenap.git
- Set up the server
cd server
./gradlew bootRun
- Set up the client
cd client
flutter pub get
flutter run
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License.
Developed by GDSC-DGU for the 2025 APAC Solution Challenge