프로젝트 개요
한남대학교 컴퓨터공학과 동아리 PIONEER를 운영하던 중 불규칙적으로 가입하는 신규 회원들에게 일일이 동아리에 대해, 진행중인 스터디에 대해 설명하는 것이 비효율적이라고 생각했다. 컴공답게 웹 개발을 통해 불편함을 해소하고자 개발을 시작했다.
프로젝트 설명
개발환경
Java, SpringBoot, MariaDB, fetch API, JQuery, Bootstrap
프로젝트 기능
- 회원 관리(Spring Security)
- 스터디 관리
- 스터디 개설
- 스터디 신청/취소
- 스터디 삭제
- 스터디 모집/진행/종료
- 관리자 페이지
- 회원 권한 부여
- 회원 삭제
- 스터디 상태 변경
- 스터디 삭제
프로젝트하면서 배운 기술
- CI/CD
- AWS
- S3
- AMI
- codedeploy
- RDS
- Route 53
- SSL
- SpringBoot
- JPA
- Spring Security
- Form Login
- loadUserByUserName
- csrf
- nginX
- javascript
- template engine
프로젝트 끝나니까 아쉬운 점
- 네이밍
- 회원 Entity class 이름을 Member로 한것. 다음엔 User로 하자.
- JOIN TABLE이름은 테이블네임 + 테이블네임으로 하자. 테이블네임+테이블네임+Mapping을 사용하지 말자.
- 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