프로젝트 개요
한남대학교 컴퓨터공학과 동아리 PIONEER를 운영하던 중 불규칙적으로 가입하는 신규 회원들에게 일일이 동아리에 대해, 진행중인 스터디에 대해 설명하는 것이 비효율적이라고 생각했다. 컴공답게 웹 개발을 통해 불편함을 해소하고자 개발을 시작했다.
프로젝트 설명
개발환경
Java, SpringBoot, MariaDB, fetch API, JQuery, Bootstrap
프로젝트 기능
- 회원 관리(Spring Security)
- 회원가입
- 로그인/로그아웃
- 권한
- 스터디 관리
- 스터디 개설
- 스터디 신청/취소
- 스터디 삭제
- 스터디 모집/진행/종료
- 관리자 페이지
- 회원 권한 부여
- 회원 삭제
- 스터디 상태 변경
- 스터디 삭제
프로젝트하면서 배운 기술
- CI/CD
- Travis-ci
- AWS
- S3
- AMI
- codedeploy
- RDS
- Route 53
- SSL
- letsencrypt(certbot)
- DNS
- SpringBoot
- JPA
- Join Mapping
- Spring Security
- Form Login
- loadUserByUserName
- csrf
- JPA
- nginX
- javascript
- ajax
- XHR
- JQuery
- fetch API
- DOM
- ajax
- template engine
- mustache
- thymeleaf
프로젝트 끝나니까 아쉬운 점
- 네이밍
- 회원 Entity class 이름을 Member로 한것. 다음엔 User로 하자.
- JOIN TABLE이름은 테이블네임 + 테이블네임으로 하자. 테이블네임+테이블네임+Mapping을 사용하지 말자.
- URL 체계
- URL 체계를 그려보고 리팩토링 하자.
- JQuery AJAX를 사용한것. fetch API를 적극적으로 사용하자.
- 중복된 코드가 많다.
- Annotation으로 바꿔보자.
- 디자인 패턴을 도입해보자. 객체지향을 프로그래밍을 공부하자.
깊게 공부해볼만한 것들
- Spring
- 각종 어노테이션들
- @SpringBootApplication
- @Entity,@Table
- @OneToMany, @ManyToOne, @ManyToMany와 그 attribute들
- @Configuration
- @EnableWebSecurity
- @EnableJpaAuditing
- @Component
- @Controller, @RestController
- @Service
- @Transactional
- @RequestBody, @PathVariable
- 각종 구현체들
- JpaRepository<,>
- HandlerInterceptorAdapter
- WebSecurityConfigurerAdapter
- WebMvcConfigurerAdapter
- User (Userdetails)
- UserDetailsService
- official document 읽어보기
- Spring
- Spring Security
- JPA
- Spring MVC
- 각종 어노테이션들
'개인 프로젝트 > [첫번째 프로젝트] 동아리 홈페이지' 카테고리의 다른 글
[첫번째 프로젝트] 각종 어노테이션들 - @SpringBootApllication, auto-configuration (0) | 2020.04.02 |
---|
최근댓글