본문 바로가기
Project/preprint-cloud-service

[preprint-cloud-service] 서비스 소개와 개발 과정

by 지식을 쌓는 개구리 2023. 11. 23.

 

[preprint-cloud 개발 목적]

현재 법인을 설립하고 다양한 비즈니스모델을 설계하고 포기하고를 반복하다가

현재는 프린트와 관련된 솔루션을 기획하면서 명지대학교 학생회관 1층 상가의 자리를

임대하여 프린트 관련한 다양한 서비스를 진행중에 있다.

 

preprint-cloud 서비스 역시 고객으로 하여금 파일 관리와 출력에 있어

효율적인 솔루션을 제공하기위해 개발하기로 10/7일 결정하였다.

 

[preprint-cloud 서비스 소개]

기존 프린트 카페에서는 파일을 출력하기위해 구글이나 네이버 메일을 통해 미리 출력하고자 하는 파일을 전송한다음

프린트카페에 방문하여 데스크탑에서 해당 소셜 플랫폼에 로그인한 후 파일을 출력하는 방식이다.

이러한 매커니즘은 사용자로 하여금 외부 환경에서 구글과 네이버와 같이 소셜 로그인을 진행하기에는 보안의 문제도 있고

사용자의 거리낌이 있을 수 있으며 실수로 로그아웃 하지 않는 경우에는 큰 문제로 이어지기도 한다.

따라서 이러한 방식은 여러 방면의 불편함을 야기할 수 있다.

 

이러한 문제를 해결할 수 있는 파일 출력과 관리를 편리하게 제공하는 서비스를 제 공하고자

preprint-cloud 서비스를 개발하기로 결정하였다.

Preprint-cloud 서비스는 학생회관 1층 print카페 혹은 학교 밖의 프린트 카페에서 쉽게 사용할 수 있도록 하며

파일 출력과 관리의 편의성을 제공한다.

사용자의 편의를 위해 출력하고자 하는 파일을 웹상에서 보관하고 이를 로그인 없이 파일 비밀번호로 검색후

출력할 수 있게하여 보안의 측면에서 안정성을 높인다.

 

[충족되어야하는 목표 및 달성 대상의 범위]

사용자들은 웹에 접속하여 여러 파일을 등록한다.

등록된 파일들은 안전하게 보관되며 학생들이 웹사이트에 접속하여 로그인 없이도

등록할때 설정한 비밀번호를 검색해 등록 파일을 찾을 수 있도록 한다.

사용자들은 로그인 없이 자신이 등록한 파일을 찾아 출력할 수 있어야 한다.

 

명지대학교 학생 회관 1 층 자리에서 진행되는 preprint 에서 이 서비스가 진행될 것이며

이용자는 명지대학교 학생 및 교직원이 될 것이다.

이용자가 쉽게 회원가입하고 출력할 파일을 쉽게 등록하게 지원하며 로그인 없이 등록한 파일을 찾을 수 있어야 한다.

 

 

[제약사항 또는 위험요소]

웹 사이트에서 이용자가 파일을 등록하고 찾는 과정에서 문제가 생길 가능성과

서버의 과부화 및 스토리지가 가득차게 되는 상황

 

1. 파일을 등록하고 찾는 과정에서 생기는 문제점
  1. SQlite DBMS 의 과도한 데이터 축적으로 데이터베이스가 다운되는

      경우가 생길 수 있다.
  2. 따라서 이용자수 300 명이 넘는 시점에서는 엔터프라이즈급

      DBMS 인 MySQL 로 이동할 예정이다. => aws RDS로 갈아탈예정
2. 서버의 과부화 및 스토리지가 가득하게되는 상황

  1. 배포한 서버의 EC2 인스턴스 유형이 현재 micro 로 설정되어있어 300명이 넘는 이용자가 서비스 접속을 할 경우 서버의 부하가 생길 수 있으며
  2. 현재 서버 자체의 스토리지 설정을 30g로 제한해두어 이 용량을 초과할 경우 서버에 문제가 생길 수 있다.
  3. 따라서 이후 이용자 수의 맞추어 인스턴스를 상향조치할 예정이며
    서버 내부 볼륨을 30g 에서 그 이상으로 업그레이드 할 예정이다. => S3로 변경할 예정

 

[프로젝트 수행 정보]

개발환경 : Visual Studio
사용할 언어 : Python, Html, css, js

사용할 프레임 워크 : Django

DBMS: SQLite

배포: AWS

 

 

[UI 설계]

 

 

[사이트맵 설계]

 

 

[ERD 설계]

 

[일정]

=> 일정은 다음과 같다.

 

 

 

[느낀 점]

일단 3주간의 개발진행을 모두 완료하였고 배포도 모두 완료하였다.

확실히 전공에서 배운 기술들이 개발하는데 있어 크게 도움이 된 것을 느꼈다.

DB의 설계 및 구현에 대한 부분도 그렇고 지금까지 배운 다양한 개발 방법론과 전공 지식들이

개발을 진행하면서, 공부하면서 잘 어우러져 조각조각 맞춰진 것 같다.

이전엔 각 분야마다 따로 전공을 분리하여 배웠으니 그 연관관계가 몸소 와닿진 않았었다...

 

학기 중에 급하게 개발하여 반응형으로 개발하지도 못했고..

aws EC2에 볼륨만 30g로 맞춰놓고 RDS, S3 적용도 못했다.

서비스는 잘 돌아가나 aws관련 자격증 공부를 진행하면서 RDS, S3로 전환할 예정이며 

aws 로드밸런서도 학습해서 적용할 예정이다.

 

서비스 개발은 이전까지 많이 해왔지만 배포하여 서비스 운영과 유지보수 경험은 이 프로젝트로 처음이다.

보안의 측면에서 https를 적용하고 도메인도 구매해서 적용해보고

여러모로 개발, 배포 과정에서 많이 배웠고 또 더 공부하게될 것 같다.