Skip to content

kyeah01/SEMO

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SEMO

API Wiki Docs Page

[TOC]

Project Description

GitHub: SEMO

Simple & East Manual of API(이하, SEMO)는 신임 개발자 및 개발자를 꿈꾸는 사람들을 위한 API Wiki Docs Service입니다. 유용한 API Site 의 사용법 및 API Test Service를 제공하여 개발자들의 학업 효율 및 생산성 향상을 위한 서비스를 구현하였습니다. 또한, API Key를 저장, 관리 할 수 있는 서비스를 제공함으로써 API 접근성과 생산성을 향상시키고자 하였습니다.

Getting Started

Prerequisites

  • front 폴더에서 npm 모듈을 install 합니다.

    $ npm install
  • backend 폴더에서 pip 모듈을 setup합니다.

    $ pip install -r requirements.txt

Database setup

  • deploy DB로는 MySQL을 활용했으나, test를 위한 DB로 sqlite3를 지원합니다.

  • model 작업을 위한 migrate가 필요합니다. backend > manage.py 파일을 실행시킵니다.

    $ python manage.py migrate
  • backend > db.json 파일을 load시킵니다.

    $ ./manage.py loaddata db.json

Description

핵심기술

다양한 유형의 API Site 정보 제공

Main Page

image

국내 공공데이터에서부터 해외 유명 사이트까지 다양한 주제의 API 사이트를 주요 기능 및 Category별로 정렬하여 보다 간편하게 API에 접근 할 수 있도록 합니다.

Detail Page

image

Detail Page에서는 해당 사이트에 대한 간략한 소개와 함께 주요 기능 및 데이터 형식, 비용 유무, 로그인 필요여부, Docs Link 등을 제공 함으로써 해당 사이트 방문 없이 사용에 필요한 기본적인 정보를 파악 할 수 있습니다.

image

또한, 회원가입Key 발급 방법에 대한 소개를 통해 처음 이용하는 사이트에서 야기 될 수 있는 불편함을 줄이고자 하였으며, 이를 통해 해외 사이트에 대한 접근성 향상을 도모하였습니다.

image

개발 가이드에서는 해당 사이트에서 지원하는 언어 이외에도 각 언어별 사용 방법 을 제공합니다.

image

API Test Console은 별도의 코드 입력 없이 개발 가이드란에서 선택한 EndPoint가 필요로 하는 Parameters만 입력함으로써 간단하게 API 요청을 실행해 볼 수 있습니다. 이를 통해 내가 얻고자 하는 정보가 어떠한 유형으로 response 되는지 간단히 알 수 있습니다.

image

​ ※ API Console Test를 통해 Movie Details에서 제공해주는 Schema의 목록

image

​ ※ API Console Test를 통해 Movie Details에서 Response 받을 수 있는 데이터

사용자 참여형 Wiki Docs


image

SEMO의 사용자는 자신이 주로 사용하는 API 사이트를 직접 SEMO에 등록 할 수 있으며, 이를 통해 사용자에게는 더욱 많은 편의를 SEMO에는 더욱 많은 데이터를 쌓을 수 있게 합니다.

Log 분석을 통한 페이지 관리


image

​ ※ 관리자 페이지의 메인 화면, 각 항목별 주간 요청 갯수와 데이터를 확인 할 수 있다.

image

​ ※ 사용자가 등록 혹은 수정 요청한 게시물을 관리 할 수 있다.

프로필 페이지를 통한 나만의 API 관리


image

최근 조회 API 리스트를 모아 둠으로써, 기존에 사용하였던 API 사이트에 더욱 빠르게 접근 할 수 있다.

image

각 사이트별 API Key를 저장, 관리 할 수 있으며 만료일이 존재하는 경우 만료일도 함께 관리 할 수 있게 함으로써 Key 관리에 편의성을 더하였으며, Detail Page의 ApI Test Console에 별도의 Key 입력 없이 바로 테스트 해 볼 수 있도록 구현하였다.


Model structure

사용 기술 및 도구

  • Django (2.2.4)
  • Django REST Framework (3.10.2)
  • yasg (1.17.0)
  • python (3.6.8)
  • MySql (8.0.18)
  • django-rest-knox (4.1.0)
  • Vuex (3.1.1)
  • Vue.js (2.6.10)
  • SCSS (sass-loder : 8.0.0, node-sass: 4.12.0)
  • vue CLI (3.12.0)
  • virtualenv (16.7.7)

SEMO Project`s Developer


image