01조 Firstcoin

BitPayFirstcoin의 프로젝트를 소개합니다.


I. 프로젝트 개요

현재 널리 사용되고 있는 결제수단은 크게 카드와 현금으로 나눌 수 있다. 이와 더불어 최근에 등장한 Mobile, NFC, 기타 간편결제 등에 의해 결제수단이 점점 늘어나고 있는 추세이다. 본 프로젝트에서는 이 결제수단에 비트코인을 추가하고자 한다.

기본적으로 비트코인의 거래는 인터넷 상에서 P2P 형식으로 이루어진다. 이러한 특징에 따라 현재 비트코인은 스마트폰으로 구동되는 전자지갑 application을 이용하여 결제가 이루어지고 있다. 전자지갑은 일종의 은행계좌와도 같은 것으로 각 전자지갑마다 고유의 비트코인 주소가 할당되어 이 주소가 은행 계좌번호와 같은 역할을 한다. 이 주소를 통해 비트코인 사용자들은 서로의 비트코인을 교환할 수 있다.

스마트폰을 갖고 있고, 인터넷이 되는 환경이라면 누구나 비트코인을 사용할 수 있다. 현재 국내에서 비트코인을 받는 오프라인 상점은 100여 곳에 불과하다. 이는 비트코인을 접할 수 있는 환경이 주어지더라도 사용처가 마땅치 않아 상점의 확산이 더딘 것이라 생각된다. 본 프로젝트는 상인과 소비자 모두 비트코인을 편리하게 사용할 수 있는 application 개발을 목표로 한다.


II. 프로젝트 목표

본 프로젝트는 상인과 고객 모두 비트코인을 편리하고 간편하게 사용할 수 있는 application 개발을 목표로 한다. 기존의 비트코인 지갑이 제공하는 비트코인 전송 기능을 이용하여 비트코인 특유의 간편 결제 모듈을 통해 결제수단으로서의 촉진을 돕는다. 그 뿐만 아니라 통계 기능을 제공하여 상인의 재고 관리, 자산 관리, 서비스 관리 등을 도우며, 원거리 주문 등의 편리한 기능을 구현하여 일상 생활 속에 비트코인 결제 시스템이 자연스럽게 스며들 수 있도록 돕는다.

* 세부 목표

- 비트코인을 기반으로 하는 결제 모듈을 제공함으로써 비트코인 특유의 간편 결제 시스템을 제공한다.

- 비트코인 결제 시스템을 기반으로 하는 상인용 POS application과 비트코인 관리와 원거리 주문이 가능한 사용자용 주문 application을 구현한다.

- 지갑 application의 계정과 연동하여 POS application의 결제내역을 주문 application과 POS application 모두에서 간편하게 관리한다.

- 상인의 입장에서 POS application의 거래 상품을 손쉽게 관리할 수 있는 웹 페이지를 구현 한다.

- 사용자의 입장에서 근거리와 원거리에서 간편하게 주문할 수 있는 사용자 중심의 편리한 기능을 제공한다.

- 사용자가 원거리 주문 시 주문자와 판매자 사이의 착오와 번거로움이 없도록 직관적이고 확실한 UI를 구성한다.

* Merchant POS Application

로그인

POS용 계정을 시스템 관리자가 따로 부여하며, DB서버와의 통신을 통해 로그인이 이루어진다.

상품 리스트

로그인이 완료되면 상단 ActionBar에 상점이름이 출력되고 서버에 저장된 각 ID에 해당하는 메뉴이름, 가격을 List에 출력한다.

상품 리스트 관리

상품 추가 버튼을 통해 리스트와 DB서버에 동시에 추가하고, 리스트 각각의 Long Click 이벤트를 통해 리스트와 DB서버에 동시에 삭제 가능하다. 기본적으로 모든 상품의 수량은 0으로 설정되어 있으며 리스트 각각을 선택할 시에 수량을 변경할 수 있다. 주문 초기화 버튼을 통해 모든 상품의 수량을 0으로 초기화 가능하다.

거래 내역 관리

결제가 완료된 상품에 대해 완료시간과 이름, 수량, 가격 정보를 시간 순서대로 남겨 사용자가 확인할 수 있도록 구현한다.

통계

일별, 월별로 나누어 그 날과, 그 달의 총 판매 정보를 통합적으로 보여주는데 처음 탭 클릭 시에는 아무 정보도 띄우지 않다가 각 버튼을 누를 시 리스트를 업데이트 한다.

원거리 주문

원거리 주문이 요청되면 각 단계에 맞추어 상태 메시지를 띄워주고 전달까지 완료되면 원거리 주문Tab에 있던 리스트는 거래내역Tab으로 이동한다.

결제

비트코인 결제 모듈을 사용해 결제 버튼을 누를 시 주문 정보에 해당하는 QR코드가 생성되어 Dialog 창에 보여준다. 주문자가 결제를 완료하게 되면 주문 창으로 복귀한다.

* Client Order Application

로그인

기존 CoinPlug 계정을 연동하여 계정을 가지고 있는 사람에 한해 로그인이 가능하며 로그인이 완료되면 상단 ActionBar에 현재 비트코인 시세 정보와 내가 가진 비트코인 잔액이 함께 표시된다.

상점 검색

돋보기 버튼을 클릭하여 직접 입력을 통해 검색하는 기능과 상점 분류 버튼을 클릭하여 단계적으로 상점을 찾아가는 기능이 있다.

상점 분류

상품 종류에 따른 분류, 체인점에 따른 분류, 지점에 따른 분류로 단계에 따라 점점 세분화 되어 간다.

상점 선택

체인점에 대한 상점 선택이 완료되면 GPS를 기반으로 내 위치를 중점으로 주변 지점의 위치를 보여주며, 상점 클릭시 Dialog창으로 상점 정보를 보여준다. 화면 오른쪽 하단에 문서모양의 버튼을 클릭하면 리스트 기반의 상점 정보도 볼 수 있다. 리스트 기반의 정보는 상점 이름, 주소, 전화번호를 담고 있다.

주문

지점 선택까지 완료되면 원하는 상품을 리스트에서 선택한 뒤 총 금액을 확인하고 결제버튼을 눌러 주문 물품에 대한 선() 결제를 진행한다.

POS와의 연동

주문자의 정보를 간단하게 입력한 후 주문 생성을 클릭하면 주문 정보가 POS Application으로 전달된다. 상점에서 주문을 수락하면 POS Application에서 전송한 QR코드가 출력되고, 거절할 경우에는 거절사유가 Dialog창에 나타난다. 모든 주문 절차가 완료되면 각 단계에 따른 상태 메시지가 고객의 핸드폰으로 Push 알림의 형태로 도착하게 된다.

간편 결제 및 주문 내역

간편결제 사용 시 QR코드를 찍을 수 있는 카메라가 작동되고 QR코드를 읽은 뒤에는 그 정보를 표시한다. 주문 내역은 POS의 거래 내역 조회와 동일하다.


III. 우리들은?Firstcoin



Bitcoin을 이용한 캡스톤 프로젝트를 처음으로 시도하겠다는 의미입니다!

또한 1조이기도 합니다 :-)


조장 : 장예진

팀원 : 김학균 마욱상 신지은 이준호 최은주

GitHub 주소 : https://github.com/jieunShin/FirstCoin

최종동영상 주소 : https://www.youtube.com/watch?v=lCMCI_OmqbI


장예진

마욱상

신지은

김학균

최은주

이준호


IV. Abstract

The spread of the Internet and smart phones is expanding the scale of mobile electronic payment market of the world was in 2010 $ 52.9 billion grew significantly to $ 235.4 billion in 2014. Recent mobile card, new payment such as a simple settlement are appeared. And the size of the mobile electronic payment market of 2017 is expected to reach $ 721 billion. In addition, the research and development of the Internet of Things has been actively carried out, "network maintenance" and that "safety" to match the core of the Internet of Things "Bitcoin" is attention together.

Bitcoin is a virtual digital currency which is developed by a pseudonym of programmer that Satoshi Nakamoto in 2009. The greatest feature of Bitcoin, unlike conventional banking system, there is no central bank, is that it takes place in a trading system in a distributed environment of P2P system over the Internet. If Bitcoin user affix a digital signature by using private key to buy something, the other users who are using the Bitcoin can verify that the person who affix a digital signature can be the owner by using public key. These digital signatures and verification of the process is repeated, it is performed in the transaction.

In this project, we want to add Bitcoin to electronic payment market as a method of payment. Bitcoin purse currently being developed, it can only send and receive Bitcoin between individuals and individuals, POS for merchants can only perform simply enough to calculate the total work. Beyond these simple functions, we will develop Bitcoin payment system based POS application and Bitcoin ORDER application that management and remote order is possible. In conjunction with the purse application’s account, it is possible to easily manage the payment breakdown in both ORDER application and POS application. Also we will develop a Web page for the management that merchants can easily manage the trading goods.

This project’s goal is to develop application that conveniently use Bitcoin by merchants and customers. Using existing purse’s Bitcoin transfer function, help promote as settlement means through the Bitcoin specific simple settlement module. Not only that, to provide the statistics function, help asset management, stock management, service management and implement a useful function of distance of the order. So it helps Bitcoin payment system to soak naturally into daily life.

*detail goal

- To provide a simple payment system Bitcoin unique by providing a payment module in which the Bitcoin based.

- To implement the ORDER application for managing Bitcoin and making remote order possible, POS application that Bitcoin payment system is based.

- To manage POS application’s payment breakdown easily by conjoining with the account of the wallet application at both ORDER application and POS.

-To implement Web page that merchants can easily manage the trading goods of POS application.

- To provide useful features user-centric that simply order at close distance and long distance.

- To constitute intuitive, definite UI that don’t have error and onerousness between merchants and customers.

* Merchant POS Application

Login

Administer gives account for POS application specifically.

By communicating with DB Server, login is made

Stock list

When login is completed, Action bar prints store name, menu name and price corresponded with ID are printed on list.

Managing stock list

By Clicking Add button, product is added on list and DB server at the same time. And each list can be deleted from list and DB server at the same time by using ‘long click event’. Basically every product’s quantity are 0, and can be changed when you click each list. Order can be initialization by using order initialization button.

Managing transactions

Users can confirm transaction completion time, name, quantity, price information about product which completed transaction.

Statistics

When tab has been clicked for the first time, it does not show any information. And if daily or monthly button is clicked, list is updated and collectively shows the total sales information in that period.

Remote order

Once the remote order is requested list shows status messages according to each stage. When product delivery is completed list located at remote order tab is transferred to transaction breakdown tab.

Payment

When the payment button is pressed, using the Bitcoin payment module it generates a QR code corresponding to the order information and shows it on the dialog screen. If customer finish payment, return to order page.

* Client Order Application

Login

This login is available only to people in conjunction with an existing account with your account. After login is completed, my bitcoin balance and bitcoin market price information are expressed at Action Bar.

Searching store

By clicking Store category button, you can find store gradationally. And by clicking search button, you can personally input data and search store.

Categorizing store

Stores are categorized by location or types of menu or chain store.

Selecting store

After selecting chain store, show the surrounding branches which are located around my location based GPS. If store is clicked, Dialog screen show the information of that store.

If document figure located at right bottom is clicked, list based store information is showed and that information have store name, address, phone number.

Order

After selecting store, users can select menu from list and confirm total price and make progress advance payment by clicking payment button.

Conjunction with POS

If simply input an orderer’s information and click order create button, order information is transferred to POS application. If store accept order, QR code transferred from POS Application is showed and if store refuse order, reason for rejection is showed at dialog screen. After all order processes are finished, status message are showed from user’s phone as a PUSH alarm according to a step of order.

Simply payment

/ Transactions

When using simple payment, camera that enable to capture QR code is operated and shows that information after reading QR code. Transaction list are same as POS’s transaction list.

하위 페이지 (2): 1.계획서 4.최종 보고