Code Monkey home page Code Monkey logo

mountain_finder's Introduction

Mountain Finder

API Usage

API 사용 가이드

local.properties Gradle 속성 파일 내에 API_KEY 변수와 BASE_URL 변수를 추가합니다. 해당 파일은 .gitignore 처리가 되어있습니다.

변수 설명
API_KEY 공공데이터포털에서 발급받은 API Key 값
BASE_URL API Key를 이용해 서버에 접근하기 위한 Base URL

API_KEY와 BASE_URL 변수의 값은 "로 감싸서 넣어주어야합니다.

Kotlin 상에서 Gradle 속성에 정의된 변수로의 접근은 다음과 같습니다.

val API_KEY = BuildConfig.API_KEY
val BASE_URL = BuildConfig.BASE_URL

Conventions

  • 모든 작업내용은 Issue로 작성한 뒤, Branch를 분리해 작업하고, PR을 통해 Code-Review 이후 Master Branch에 Merge 합니다.

Commit Rule

__Action__ __FileName__ : __Description__
  • Action 은 다음과 같이 두가지 종류로 구분됩니다.
    • Added : 새로운 파일을 추가한 경우
    • Update : 특정 파일을 수정한 경우
  • FileName 은 추가 혹은 수정한 파일의 이름을 의미합니다.
    • Gradle, Gitignore과 같이 프로젝트 전역의 설정 파일을 수정한 경우에는 Update Project와 같이 작성합니다.
  • Description 은 Commit에서 변경된 내용을 한 문장으로 요약합니다.

Commit Example

Added README.md
Update MainActivity : Added Login Button on Base Component
Update Project : Set Gradle Version to 7.3.1

Branch Rule

TYPE/BRANCH_NAME
  • 기본적으로 Branch의 이름은 Issue의 이름을 따릅니다.
  • TYPE은 다음 중 하나를 해당하는 Issue의 Type과 동일하게 선택합니다.
    • dev : 일반적인 개발 사항
    • fix : 기존에 개발된 내용을 수정하는 사항
    • doc : README 등 문서에 관련된 사항
  • BRANCH_NAME은 해당하는 Issue의 Title을 적절히 변형합니다.

Branch Example

dev/base-activity
docs/readme-base

Issue / PR Rule

Title

[TYPE] TITLE
  • TYPE 은 다음 중 하나를 선택합니다.
    • DEV : 일반적인 개발 사항
    • FIX : 기존에 개발된 내용을 수정하는 사항
    • DOC : README 등 문서에 관련된 사항

Content

## Summary
Summary of Issue or PR

## Description
Detail Description of Issue or PR
  • Description 항목이 불필요한 경우에는 생략할 수 있습니다.
  • FIX Issue 혹은 UI에 관련된 PR의 경우는, Description에 스크린샷을 첨부해주시기 바랍니다.
  • Issue 작성 시, Assignee와 Label을 지정하고, 생성한 Branch를 Development 항목에 지정해줍니다.
  • PR 작성 시, Assignee와 Label을 지정하고, Reviewer을 상호로 지정하고, 해당하는 Issue를 Development 항목에 지정해줍니다.

Issue Example

PR Example

mountain_finder's People

Contributors

yymin1022 avatar girinssh avatar

Watchers

 avatar  avatar

Forkers

girinssh

mountain_finder's Issues

[DEV] MountainDataManager 작성

Summary

  • 공공데이터에서 산 정보를 가져와 제공해주는 클래스를 작성합니다.

Description

  • 클래스는 다음과 같은 기능을 가질 예정입니다.
    • 공공 데이터로부터 데이터 가져오기
    • 기준에 부합하는 산 데이터 세트 제공하기
      • 산 이름
      • 산 코드
      • 지역
      • 100대 명산

[DEV] DetailView Activity 기본 UI 구성

Summary

  • DetailView Activity의 기본 UI를 구성합니다.
  • API 연동과 디자인을 제외하고, Naive한 UI 요소만 우선적으로 추가하고 배치합니다.

Description

  • 다음과 같은 구성요소를 추가합니다.
    • 산 기본정보(이름, 높이, 관리주체, 소재지 등)를 표시하기 위한 TextView
    • 산 상세정보를 표시하기 위한 Scrollable TextView
    • 100대 명산에 속하는 경우 해당 내용을 조건적으로 표시하기 위한 TextView
      • 조금 찾아보니 명산 관련해서 자체적으로 추가정보 제공하는 API가 있으니, 요거를 같이 활용해봐도 좋을 것 같습니다
    • 산 이미지 표현을 위한 Imageview
    • 해당 산이 속한 숲길구간 정보를 표시하기 위한 ListView
      • 이부분은 AlertDialog 형식의 ListView Render를 이용해도 되지 않을까 싶습니다. API상에서 숲길구간 이름 외에는 주는 정보가 없어서..

[DEV] API 접근 Key 발급 및 Local 속성 적용

Summary

  • 공공데이터 포털을 통해 API Key를 발급받고, Gradle Local 속성에 적용합니다.
  • Kotlin Code에서 Key 값을 Gradle Local 속성으로부터 불러오는 로직을 구성하고, 관련 설명을 README.md에 작성합니다.

[DOC] README.md 구성

Summary

  • README.md를 구성합니다.
  • 개발과정, Commit, PR 및 Merge에 관련된 규칙을 작성합니다.

[DEV] Mountain Class 작성

Summary

  • 공공 DB에서 불러온 산에 대한 정보를 저장할 Mountain Class를 작성합니다.
  • data class로 작성됩니다.

Description

  • Mountain class는 다음의 요소를 가지고있습니다.
    • 산 소재지(address)
    • 관리주체(admin)
    • 관리자 전화번호(adminnum)
    • 상세정보(details)
    • 높이(high)
    • 산 코드(listno)
    • 산 이름(name)
    • 데이터 기준일자(nfdt)
    • 산 부제(sname)
    • 개관(summary)
    • 100대 명산 선정이유(top)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.