파이널 프로젝트 회고록

hanahana·2022년 11월 23일
0

파이널 프로젝트를 끝내고...

길다면 길고 짧다면 짧았던 파이널 프로젝트가 끝나고 학원 수료도 마무리되었다.

이번에 만들었던 프로젝트는 E-Book 플랫폼이다

📰 왜 이 프로젝트를 시작했지?

사실 이 프로젝트를 생각했던건 세미 프로젝트가 끝나고 늘어져있었던 주말이었는데,
E-Book을 등록하는 꿈을 꿨기때문이다.
일어나서 생각해보니 이거 잘 생각하면 프로젝트로 만들수 있겠는데? 하는 생각이 들었고 구체화 하게 되었다.
지난번에 세미 프로젝트에서 했던 레시피사이트와는 상당히 다른 주제지만 레시피사이트에서 하지 못했던 많은 요소를 접목해 보고 싶었다.

💽 세미 프로젝트때 부족했던 부분을 채우고 싶었다.

레시피 사이트는 포인트제를 활용하고 싶었는데 시간 부족으로 접목이 부족해 포인트 지급외에는 다른 기능을 부여하지 못했고 ajax를 다루지 못해 사용자가 삽입한 글에 이미지를 넣을 수도 없었다.
그리고 다른 조가 대댓글을 등록한 걸 보고 꼭 해보고 싶었는데 세미때 못했던 이 부분을 전부 할 수 있어서 나름 만족스러운 결과였다.

🙍‍♀️🙍‍♂️ 사용자가 중심이 되는 사이트를 만들고 싶었다.

세미 프로젝트 때도 그랬지만 나는 기본적으로 사용자가 사용하기 쉬운사이트, 사용자가 컨텐츠를 만들어 컨텐츠의 생산이 가능한 사이트를 목표로 했다.
그래서 이번 E-Book 플랫폼을 만들 때도 그 부분을 우선시 하였다.
그랬기때문에 사용자가 등록하는 도서, 관리자가 등록하는 도서 2개의 비슷하지만 다른 영역의 CRUD가 생겼고 고생을 두배로 하기는 했지만.. 나름 만족한다
특히 사용자가 유료도서를 등록해서 수익을 사이트와 사용자 둘다 수익을 창출할 수 있다는 부분이 기획에서 가장 마음에 들었던것 같다.
관리자가 등록한 저작권 만료도서는 무료로 제공하여 사용자를 불러드리는 미끼상품역할을 하는 것도 좋았다.

📱 모바일사이트에 욕심이 있었다.

요즘은 pc로 웹 사이트를 접속하는 사람은 거의없다, 나같은 사람이나 pc로 이것 저것 하지
대부분은 모바일을 이용할것이다.
그래서 세미를 할때부터 모바일 사이트를 만드는게 더 좋지 않을까 생각했다.
하지만 pc사이트를 보여주는 것이 더 강점이 있을 수 있어 반응형을 이용하여 같은컨텐츠를 2가지의 화면으로 보여주는 방식을 택했었다.
세미때는 시간이 부족해 모든 페이지를 반응형웹으로 작성하지는 못했지만 이번에는 내가 최종 체크하여 사이트의 모든 부분을 반응형으로 만들 수 있었다.
E-Book은 모바일이지, 출퇴근하면서 지하철에서 스마트폰으로 볼수 없다면 E-book의 매력은 반감될 것이다.

⚙ 기술스택


배운 대부분의 스택을 사용하는 것을 목표로했기 때문에 정말 아낌없이 사용할 수 있었다.
하지만 다른 팀들은 이거보다 더 세부적으로 만들고 보안까지 신경쓴 팀이 많아서 감탄했다.
나도 조금 더 시야를 넓혔다면 그런 세세한 부분을 생각할 수 있었을까? 하는 아쉬움이 든다...

💻 기능구현

내 담당기능은 도서CRUD전반, 도서 별점, 도서 댓글, 도서 검색,내 서재, 이벤트, 미니게임이었다.
사실 이벤트와 미니게임은 기획서에 없었다.
도서 관련 기능을 끝내고나니 시간이 남아서 남들은 안하는 기능이 없을까? 고민하다가 팀원이 출석이벤트 얘기를 해주어서 출석이벤트를 추가하고
그래도 시간이 남아서 미니게임을 추가했다.
게임은 아무도 안하겠지? 싶어서 넣은기능이기는 한데 간신히 굴러만 가는 완성이 되었다,

보시다시피 프린세스 메이커의 패러디다(이미지는 대부분 이라스토야에서 받아 사용했다)
알바를 하고 공부를 해서 엔딩을 볼수있다 엔딩은 10개가 되고 내 서재에 등록된 책을 파악하여 초기 능력치를 부여했다.
10개중 진엔딩인 여왕엔딩을 보면 포인트 지급도 하게되어서 뜬금없는 게임이지만 가능한 사이트와 어우러질수 있도록 노력했다.
그런데... 설계에 약간 미스가 있어서 어린이집 교사 엔딩이 엄청 자주 나온다..

📟 기능을 구현할때 어려웠던 점...

단순한 CRUD라고 생각했는데 의외로 어려움이 많았다
일단 관리자가 등록한 도서와 회원이 등록한 도서는 비슷한듯 다른점이 많았는데
관리자는 타인의 도서를 가져오는 사람이기 때문에 도서마다 작가의 프로필을 따로 입력해줘야했으며 카테고리도 약간 달랐고 번역기능을 넣어주었기때문에 언어 설정도 해주어야 했다.
반면 사용자 도서는 사용자의 아이디로 작가프로필을 파악했기때문에 작가 설정은 할 필요가 없었고 언어 설정도 없었다.
대신 관리자가 승인을 해야만 정식 도서 목록에 올라간다.
이런 다른부분때문에 비슷한 일을 여러번해야해서 번거로움이 좀 컸다.

어려웠던 부분 극복하기

이 부분은 따로 정리해두었다
포기하지 않고 하다보면 어떻게든 대부분 극복되는것 같다

🎆 하지만 발전한 점도 있었다.

세미프로젝트를 할때는 오류가 뜨면 무조건 구글링부터 해서 원인을 파악했는데
이제 익숙해졌는데 오류메세지를 읽고 원인을 금방금방 찾을 수 있었다.
이것만큼은 장족의 발전이 아니었나 싶다

⚒ 쿼리문은 중요하다...!

처음에는 domain클래스에 맞춰서 해당 테이블의 값을 불러오기때문에 테이블마다 쿼리문을 써서 값을 불러왔다.
하지만 이걸 반복하니 너무 비효율적이라는 생각이 들었다.
그래서 domain클래스에 원래는 없었던 변수를 계속 추가했다. 처음에는 시리즈 번호, 내용, 삽화 정도 있었는데 타이틀명, 아이디, 닉네임.. 이런부분을 추가해서 테이블을 조인하여 값을 가져오게 됐다,
이게 훨씬 더 DB에 부담도 덜하고 효율적이었다.
다만 domain을 계속 변경하게되니 설계하고 달라지는 부분이 생겼다.

😫 팀장은 힘들어...

힘들건 알았는데, 이렇게 힘들 줄은 몰랐다!!
세미 팀장님 신세가 많았습니다, 괜히 다신 안하겠다고 하신게 아니네요.
생각해보면 내 욕심이었던것도 같다, 내가 하고싶은게 많으니까 하나라도 놓치기 싫었고
팀원들도 해야할 할당량이 있는데 부차적인것에 신경쓰다가 중요한 기능부분을 밀리면 안되니까 일단 내가 해버리자! 하는 마음이 좀 컸던것도 같다.
그래서 서류나 발표준비 반응형 웹부분이나 CSS같은 걸 그냥 보이는 대로 나 혼자 해버렸다.
좀 더 나누면 좋았을지도 모른다는 생각이 안드는건 아닌데...
다른사람도 이런 걸 나누며 경험해야 하는데 내가 욕심을 부려 다 해버린게 아닌가 하는 마음이 좀 든다.
근데 남을 시키는것보다 내가 하는게 더 편하게 느껴지는 타입이라... 다시 돌아가도 결국 내가 하지 않을까?

🎈 새로운 기술을 사용해 보는게 좋았다.

세미때와 가장달라진건 ajax를 활용했다는 것이다.
ajax로 댓글과 대댓글을 만들땐 정말 어려웠는데 막상 적용하고나니 사이트의 사용이 편리해져서 좋았다.
별점을 주면 인원수나 평균 점수가 실시간 반영될수 있도록 하는것도 좋았고
ajax가 있어서 게임을 만들수 있었던것 같다.
도중에 summernote때문에 jQuery가 먹히지 않아 바닐라 js로 ajax를 작성하는건 어려웠지만..(결국 post방식으로는 ajax가 먹히지 않았다 다들 어떻게 하는거지?) ajax를 왜 다들 사용하는지 알것 같다.

마지막에는 발표준비

프로젝트를 대부분 마무리하고 발표일이 이틀정도 남았을 때 강사님한테 뭘 해야 프로젝트의 마지막 완성도를 높일수 있냐고 물었다.
강사님은 지금은 발표준비에 올인할때라고 했다.
세미때도 발표를 맡았는데 그때는 마음이 급해서 빨리빨리 설명하고 넘어갔었는데 강사님은 그게 기억이 남았던 모양이다.
그래서 나는 이틀동안 새로운 기능을 넣거나 CSS를 최종 수정하겠다는 계획을 폐기하고 발표준비를 시작했다
ppt를 새롭게 만들고 기획의도를 정리하고 시연영상을 몇번이고 다시 찍었다.
아마 우리 프로젝트가 최종 1위를 한건 이 발표준비 덕분이 아닐까? 다들 마무리작업에 바빠서 발표준비까지는 따로 하지 못했던것 같았다.
만약 프로젝트를 준비하시는 분이 있다면 마지막에는 발표 준비를 해보자!

👋 안녕! 파이널 프로젝트

어려운 점도 많고 새로운것도 많이 배우고 해본것도 많은 프로젝트였다.
사실 내가 해보고싶은건 다 해본것 같아 후련하기도 하고 다른 팀들 처럼 보안이나 새로운 기술을 적용해보지 못해 아쉬움도 있다.
(특히 내 담당은 API를 쓸일이 없어서 SNS공유를 제외하고는 아무 API도 써보지 못한 부분은 아쉬움이 크다
이 부분은 지금부터 혼자서 해보면서 API사용법을 따로 익혀볼까 한다.)
끝날 것 같지 않던 프로젝트가 끝나는게 거짓말 같지만 며칠 집에서 잠자며 뒹굴뒹굴거리니 이게 내 일상인가? 싶어진다 파이널프로젝트로 달리던 시절이 다 거짓말 같다.
하지만 이제 포트폴리오 정리 작업도 마무리 되었으니 못들었던 강의들을 하나씩 다시 들어야지...

🏆 학원 자체 평가 1위

세미때에도 1위를 했는데 파이널에도 1위를 할수 있었다.
고생해준 팀원들 덕분이다.
반년간 프로젝트 2개만 보고 달렸는데 그걸 다른 분들도 인정해주신 것 같아 사실 1위 발표순간 모든 피로가 풀린 기분이었다!!
이게 기반이 되어 포트폴리오도 긍정적인 평가를 받으면 좋겠다.

🎉 End

이제 정말 끝이다. 하지만 끝인건 프로젝트이고 본격 취업준비는 지금 부터 시작이다.
욕심은 부리지 않을 생각이지만 그래도 다니고 싶었던 회사에 취업할 수 있으면 좋겠다..
비전공자이기도 하고 요즘 IT업계가 힘들어서 걱정은 되지만 부정적인 생각은 하지 않을거다!!

내 프로젝트가 궁금하다면?

피넛북스 깃허브를 누르면 볼수 있으니 확인 보시길

profile
hello world

0개의 댓글