Coding History/project

지금까지의 기술스텍 및 기능정의서

BlackBirdIT 2024. 9. 26. 07:11

완성은 아직 멀긴 했는데 발표 준비로 미리 써야될 것 같아서 한번 써본다.

기술 스택

1. 프레임워크 및 언어

  • Java 17: 최신 LTS(Long Term Support) 버전의 Java를 사용하여 애플리케이션을 개발.
  • Spring Boot 3.x: REST API 개발과 보안, 데이터 관리 등을 처리하는 기본 프레임워크.
  • Spring Security: OAuth2 클라이언트 및 JWT 기반 인증 구현. 사용자 인증과 권한 관리를 담당.
  • Spring Data JPA: 데이터베이스 접근을 위한 ORM(Object Relational Mapping) 기술을 사용하여, 엔티티와 데이터베이스 간의 매핑을 자동화.

2. 데이터베이스

  • MySQL: 관계형 데이터베이스.
  • JPA / Hibernate: Java Persistence API를 통해 MySQL과 연동하며, 자동으로 스키마를 생성 및 업데이트(ddl-auto: update) 함.

3. 보안 및 인증

  • Spring Security + OAuth2: Google 및 Spotify OAuth2 소셜 로그인을 지원하며, OAuth2 클라이언트 설정이 구성되어 있음.
  • JWT (JSON Web Token): 인증된 사용자에게 토큰을 부여하고, 이를 통해 REST API에 접근할 수 있도록 설정.

4. 클라우드 서비스

  • Firebase Admin SDK: 파이어베이스의 기능을 백엔드에서 제어할 수 있도록 하며, 이를 통해 파일 업로드와 같은 기능을 구현.

5. 빌드 및 관리 도구

  • Maven: 의존성 관리 및 빌드 도구로 사용되며, pom.xml에서 여러 의존성들을 관리.
  • Spring Boot Maven Plugin: 스프링 부트 애플리케이션을 패키징하고 실행하는 데 사용.

6. 프론트엔드

  • JSP (Java Server Pages): 템플릿 엔진으로, 로그인 페이지와 같이 서버 사이드 렌더링을 처리함.
  • CSS: 정적 리소스를 통해 프론트엔드 스타일을 설정.
  • Webpack: 번들링을 위한 도구로, 프론트엔드 자바스크립트 파일을 관리.

7. 기타 라이브러리 및 도구

  • Lombok: Java 코드에서 반복적인 Getter, Setter, Constructor 등을 간소화하기 위해 사용.
  • Jakarta Servlet: Java 웹 애플리케이션의 서블릿 관리를 위한 API를 제공.
  • java-jwt: JWT 토큰을 발행하고 검증하는 라이브러리.
  • Tomcat Embed Jasper: JSP 파일을 컴파일하고 서블릿으로 변환하여 처리하는 엔진.

기술 정의서

이제 학원 갈 준비를 해야겠구만. ppt는 만들어도 따로 올리지 않을 예정이다.