[프로젝트] 특허의 신 프로젝트 회고

뚜니어리·2023년 7월 17일
0

Project

목록 보기
1/2
post-thumbnail

💡 프로젝트 소개

특허를 내는 시간도 단축하고, 특허를 편리하게 낼 수 있도록 도와주는 서비스

  • 특허를 내기 전, 특허 가능성을 검토해주어 자신의 아이디어가 특허권을 얻을 수 있는지 알아볼 수 있도록 특허가능성검토 를 해주는 시스템입니다.

  • 발명의 명칭 이라는 단계에서 유저들이 많이 포기한다는 이야기를 듣고, 키워드입력방식을 이용하여 특허청과 연동시켜 실시간으로 자신이 생각하는 발명과 관련 된 아이디어의 현황을 보여줍니다.

[배포 사이트]
https://growbeyond.store/
[프론트 깃허브 주소]
https://github.com/ssu-uky/2-GROWBEYOND-Front-End.git
[백엔드 깃허브 주소]
https://github.com/ssu-uky/patent-upload.git
[API 문서]
https://ssu-uky.gitbook.io/grow-patent/


🛠️ 시작 과정

인스타그램을 둘러보다가 스타팅 이라는 회사를 통해서 여러 분야에 있는 사람들과 프로젝트를 진행할 수 있다고 하길래.. 프로젝트가 필요한 나는 바로 신청을 했었다..!

  1. 기획자
  2. 디자이너
  3. 마케터
  4. 프론트 개발자
  5. 백엔드 개발자

이렇게 각 분야의 사람들 1명씩,
총 다섯명의 사람들이 모여서 한 팀을 이루어서 진행되는 시스템이다.

팀은 스스로 정해야 하는 시스템인게 조금 아쉬웠다.
당연히 주최측에서 정해주는 줄 알았는데..
다행히 다른 분께서 먼저 연락을 주셔서 팀 매칭이 되었다!

중간에 디자이너분과 마케터분이 개인사정으로 나가셔서..
기획자 1명, 프론트엔드 1명, 백엔드 1명(나) 로 진행 되었다.
캡쳐는.. 1기 참여했을 때 캡쳐한거라서 3주라고 되어있지만
2주간 만들어야하는 서비스이기때문에 시작과 동시에 하루하루가 너무 소중했다.


🛠️ 2주간의 여정 시작

2기의 주제는 상표의 신 의 새로운 서비스 [특허] 에 대한 서비스를 제작해야한다고 해서 시작하게 되었다.

기획 (1주)

일단 특허라는 단어에 대해 이해하는 것 부터 어려워서 모두 다같이 기획을 하는데도 어려움이 있었다.

하루에 몇시간 씩 회의를 하던 우리가 정한건 특허 가능성 검토..!

  1. 키워드 방식의 발명의 명칭 작성
  2. 상담 장벽을 낮추기 위해 로그인 없이 누구나 상담 신청 가능
  3. 상담 신청 후 특허청 API와 연동시켜 본인의 아이디어와 비슷한 특허들을 보여줌

일단 이렇게 기능을 구현하기로 결정 됨과 동시에, 특허청에 REST API를 신청하였다.


개발 시작 (1주)

핵심 기능

  • 특허청 kipris의 REST API 연동
  • 키워드로 본인의 아이디어와 연관 된 특허 조회
  • 본인이 작성한 글만 조회, 수정, 삭제 가능

나는 이 전 프로젝트에서도 그랬듯이 팀원간의 소통이 가장 중요하다고 생각했다.
처음 기획부터 같이 시작해서 데이터베이스도 같이 짜나아갔다.

일단 비대면 프로젝트가 처음인 나는 서버구축이 먼저라고 생각하였다.
내가 개발을 하고 서버구축을 해서 드려야 프론트에서 API엔드포인트를 연결 시킬 수 있다고 생각했다.

그래서 기획을 토대로 API 문서를 만들고, 프론트엔드 개발자님께 바로 전달 드렸다.

프론트 개발자님도 남은 시간동안 엔드포인트를 이용하여 개발을 해주셨고,
마지막 날에는 제출 전까지 다같이 모여서 개발을 진행했다!

조금 변경 된 점 : password가 아닌 email로 본인 확인 진행


📍 ISSUE

  • 특허청의 open api를 가져오는 중에 가져오는 양을 설정해도 계속 같은 양만 가져오는 일이 있었다.
class PossibleBoardWrite(APIView):
    permission_classes = [AllowAny]
    
    def get(self, request):
        title = request.GET.get("title", "")
        words = title.replace(",", "").split()  # ,와 띄어쓰기 제거

        results = []

        access_key = env("access_key")
        # 300개 까지만 보여주기
        kipris_url = "http://plus.kipris.or.kr/openapi/rest/patUtiModInfoSearchSevice/freeSearchInfo?word={word}&accessKey={access_key}&docsCount=300"

        for word in words:
            url = kipris_url.format(word=word, access_key=access_key)
            response = requests.get(url)

            # xml 형식의 데이터를 파싱하고 원하는 정보를 추출하여 json 형식으로 저장
            data = parse_xml(response.text)

            results.extend(data)  # 한번에 보여주는 방식

        total_count = len(results)

        board = {"title": title, "total_count": total_count, "results": results}

        return Response(board, status=status.HTTP_200_OK)

total_count = len(results)
이 부분에서 total_count가 계속 다른 단어를 검색해도 30개만 나왔었는데..

kipris_url = "http://plus.kipris.or.kr/openapi/rest/patUtiModInfoSearchSevice/freeSearchInfo?word={word}&accessKey={access_key}&docsCount=300"

마지막 docsCount=300 추가해주니 원하는 만큼(300개) 조회가 되었다..

문서마다 이름이 다 다르게 되어있어서 꼼꼼히 확인을 해야한다..


아키텍처(Architecture)


🛠️ 프로젝트 후기

더 보완하고 싶은 부분도 많고 추가하고 싶은 부분도 많지만,
다른 팀에 비해 디자이너와 마케터 없이 3명이서 2주안에 이만큼의 성과를 낸게 대단하다고 생각한다!

점점 더 보완하고, 기능들을 더 추가하면 좋을 것 같다!


느낀 점

  1. 역시나 기획단계가 탄탄해야 개발도 물 흐르 듯 빠르게 진행된다..
  2. 주어진 시간이 2주지만.. 특허라는 개념을 이해하고 알아봐야했기 때문에..
    첫 주에 기획에만 올인한게 잘했던 것 같기도 하고.. 너무 시간이 지체된 것 같기도 해서 시간이 조금만 더 있었더라면.. 싶다!

추가로 이 프로젝트도 리팩토링 진행 예정중에 있다!
testcode 추가하고, GitHubActions 이용해서 자동화를 해 볼 예정이다.

profile
삽질과 저장소의 그 중간

0개의 댓글