Skip to content

2023 google solution challenge - wonder team [Top 10 finalist] (Korea Univ. Google Developer Student Club)

Notifications You must be signed in to change notification settings

KUGODS-Wonder/Wonder-API-Server

Repository files navigation

Wonder

Project to participate in 2023 google solution challenge

Top 10 finalist

badge

스크린샷 2023-11-02 오후 5 30 27

We made it!!

Member

Chanho Park Keo Kim Boyoung Kim SeoKyung Baek
- Lead
- Backend
- Frontend - Frontend - AI

Team Notion Link

Team Notion

UN-SDGs that our solution solving for

Goal 3. Good Health and Well-Being

About our solution

The lack of physical activity among modern people has been a serious problem in many nations. The wonder app tries to fix this problem with our unique approach to walking exercises.

We added some gamification feature to help users enjoy walking in their daily lives. The user is encouraged to walk on daily basis, through various motivations and game-like mechanics we provide.

In addition, we connect local volunteering organizations with users so that they can participate in various volunteer activities that involves some 'walking' in the progress. For example, there are volunteer activities to take a walk with dogs at a dog shelter or lunch box delivery services for the elderly living alone. This way, walking is not just a daily experience, but also a way to help others and contribute to society.

App Demo

myprofile map voluntary_work

About Implementation

Backend

1. Tech Stack

  • Java 11
  • Spring, Spring boot
  • Spring Web MVC, Spring Security
  • Spring Data JPA, QueryDsl
  • MySQL
  • Docker, Docker-compose
  • GCP

2. Architecture

wonder server architecture

  • I deploy my Spring server application with Docker and Docker Compose.
  • First, I create a Dockerfile to build an image of my application.
  • Then, I build an image of my application and push to the DockerHub.
  • I also create a docker-compose.yml file with information about my spring application from the hub and Nginx and certbot. related issue
  • Nginx was used to implement the reverse proxy, and certbot was used to use the https protocol.
  • Finally, I can start my app with Docker compose by running a command like "docker-compose up". This starts containers for my app.

3. Api Docs

Gitbook

4. ERD

image