아트그라운드 구경하러 가기 >> https://art-ground.io
아트그라운드 깃헙 구경하러 가기 >> https://github.com/codestates/art-ground
art-ground
코시국에 발맞추어 '누구나 아티스트가 될 수 있고 누구나 어디에서든 관람할 수 있다' 를 목표로
온라인 갤러리 플랫폼 사이트를 만들어보았다.
1.아트그라운드는 오프라인 전시회를 여는것이 더욱 어려워진 아마추어 아티스트들에게 전시공간을 제공한다 !
2.관람객은 다양한 양질의 전시를 어디에서나 관람할 수 있다!
이 두가지가 포인트이다.
기획
프론트엔드2(나), 백엔드2 이렇게 4명이 한 팀이 되어 프로젝트를 진행했다.
첫번째 프로젝트때 SR의 중요성을 제대로 느껴 팀원 전체가 이번에는 SR에 굉장히 힘을 쏟았다.
약 일주일 정도, 우리는 코드를 작성을 시작하지 않았다.
그리고 우리가 가장 크게 비중을 둔 부분은 "완성도 있는 사이트"였다.
따라서 배웠던 스택과 기술들을 심화해서 프로젝트에 적용해보기로 결정을 내리고 프로젝트를 시작했다.
스택
와이어 프레임 & 플로우 차트
https://github.com/codestates/art-ground/wiki/Flow-Chart
기능구현
내가 구현한 기능만 나열해 보자면,
유저관련
- 회원가입 (crypto.js으로 보안강화)
- 유저타입 별 로그인, 로그아웃 (관람객,작가,관리자,오아쓰)
- 카카오 oauth (부분 참여)
어바웃페이지 (사이트 소개)
- 스크롤 다운시, fadein/up 이미지 및 텍스트
- 리뷰슬라이더
- 스크롤 다운시, 원하는 위치에서 카운터 작동
마이페이지
- 내 정보조회(프로필, 찜한전시, 개최한전시 분기 및 전시상태 별 show up)
- 내 정보수정 (프로필수정, 비밀번호 수정)
- 회원탈퇴
관리자페이지 (관리자 아이디로만 접속 가능)
- 전시 조회 (승인대기, 마감대기, 마감목록)
- 전시 조회 - 자세히보기 클릭시 해당 전시 관련 정보 조회
- 전시 조회 - 키워드 검색
- 전시 조회 - 날짜별 조회
- 전시 승인
- 전시 삭제
- 리뷰 조회 (무한스크롤)
- 리뷰 조회 - 키워드 검색
- 리뷰삭제
[전시관리 이미지]
[리뷰관리 이미지]
관리자페이지는 관리자 아이디 없이 확인이 불가능하니, 이미지 남기기!
컨택트페이지
- 카카오Map API (마킹, 인포박스, 길찾기맵으로 링크연결)
클라이언트 https배포 & 자동화
- AWS( s3, cloudfront, route53 )
프로젝트 회고..
잘한점
프로젝트 회고를 하며 잘한점 찾기는 너무 어려운 일이다..ㅋㅋㅋ
그래도 굳이 찾아내어 보자면,
- 코드작성을 하면서 마주한 에러들을 스스로 해결하려고 노력했다.
예상치 못한 에러들을 예상치 못한 곳에서 만났다.
초반엔 당황&멘붕이 왔고.. 이후 매일 만나다보니 에러들을 만나도 의연해졌다.
깨달은것은 해결방법은 있다는것. 아직 내가 못찾았다는 것.
- 구글링에 익숙해졌다.
내가 의존할 수 있는것은 서치 뿐이었기 때문에 구글링에 좀 익숙해졌다.
앞으로 더 친해져야하겠지만 ..!
아쉬운점
- 클린코드
과연 내가 작성한 코드는 효율적인 코드인것인가?
여전히 클린코드에 대한 아쉬움이 있다.
디버깅에도, 리팩토링에도 잘 작성된 코드는 매우 도움이 된다.
이 부분은 계속해서 고민하고 적용해봐야할 것 같다.
- 다양한 기능 구현에 대한 아쉬움
퍼스트때보다 파이널프로젝트는 기능이 좀 더 심화되고 수평적으로 넓어졌다.
따라서 퍼스트때 맡았던 유저기능(로그인, 마이페이지 등)을 좀 더 심도있게 다뤄보고 싶어 유저쪽을 다시 한번 도전하게 되었다. 하지만 다양한 기능을 구현해보지 못한 것에 대한 아쉬움이 남았다.
-> 이 부분은 지금 진행하고 있는 사이드 프로젝트에서 아쉬움을 충족해보는 것으로 !
- 등등 너무 많지만 리팩토링을 통해 조금씩 보완해나가야 할 것 같다.
나열하자면 끝이 없다..
배운점
-
경험이 최고다.
경험이 중요하다고 하지만, 이렇게나 경험의 중요성을 크게 느꼈던 기간이 없었던 것 같다.
여러번의 이론공부보다 한번 부딪혀서 해결한 경험이 이후 코드 작성에 가장 도움이 된다는 것을
크게 느꼈던 프로젝트기간이었다.
-
프론트엔드는 디테일이 생명이다.
이건 이번 프로젝트를 통해 정말 많이 배운 부분이다.
기획단계에서 그리고 첫 코드 작성시 디테일한 부분을 놓치면 두번 세번 추가 작업을 해야하는 일이 발생하게 된다. 결과적으로 효율성이 매우 떨어진다. 디자인적인 부분과 유저사용을 고려한 부분에서 앞으로는 더욱 디테일하게 고려하여 코드작성을 해야할 것 같다.