본문 바로가기

개인 프로젝트

[개인] 프로젝트 진행 계획

개발 목표 : 개인 프로젝트 진행, 신 기술 연습

1. 주제: 소셜미디어 개발

   - 기능: 실시간 채팅, 커뮤니티, 회원 관리, 사용자 인증, 댓글 관리
   - 프론트엔드: React (개발 프레임워크: VScode)
   - 백엔드: Java(Spring Boot)
   - 웹소켓: JavaScript 라이브러리를 사용하여 구현
   - 인증: Spring Security를 사용한 JWT(JSON Web Tokens) 기반 회원 인증
   - 도커: Docker를 사용하여 개발 환경 구축 및 애플리케이션 컨테이너화


2. AWS 활용

   - 서버 배포: AWS Elastic Beanstalk, EC2 등을 사용하여 Spring Boot 애플리케이션 배포
   - 보안 및 SSL 인증서 관리: AWS ACM(AWS Certificate Manager)을 사용하여 SSL 인증서 관리
   - 데이터베이스: MySQL 데이터베이스 사용

3. CI / CD 구성

   - 젠킨스: Jenkins를 사용하여 CI/CD 파이프라인 구성
   - 코드 통합: GitHub 또는 GitLab과 연동하여 코드 변경 사항의 통합
   - 빌드: 젠킨스를 사용하여 빌드 작업 자동화
   - 테스트: 자동화된 테스트 수행 및 테스트 결과 확인
   - 배포: 젠킨스를 사용하여 배포 작업 자동화

 

4. 부가 설명

 - 프론트엔드 개발에서는 React를 사용하여 사용자 인터페이스를 구현하고, 개발 프레임워크로는 VScode를 사용합니다.

 - 백엔드 개발에서는 Java와 Spring Boot를 사용하여 RESTful API를 구현하고, Spring Security를 활용하여 JWT 기반 회원 인증을 구현합니다. 또한, 도커를 사용하여 개발 환경을 구축하고 애플리케이션을 컨테이너 화합니다.

 - 웹소켓은 JavaScript 라이브러리를 사용하여 구현하며, 실시간 채팅 기능을 구현합니다.

 -  AWS를 활용하여 서버를 배포하고 보안 및 SSL 인증서 관리에는 ACM(AWS Certificate Manager)을 사용합니다. 데이  터 베이스로는 MySQL을 사용하여 데이터 저장을 처리합니다.

 - CI/CD 구성에는 젠킨스를 사용하여 CI/CD 파이프라인을 구축합니다. 코드 변경이 발생하면 젠킨스를 통해 자동으로 빌 드, 테스트, 배포 작업을 수행하여 개발 과정을 자동화합니다.

5. 개발 진행 계획

1. 환경 구성:
   - 필요한 개발 도구 설치: VScode, Java JDK, Node.js, Docker, 젠킨스 등
   - 프로젝트 디렉토리 구성: 필요한 폴더 및 파일 구성

2. 백엔드 개발:
   - Spring Boot 프로젝트 생성: Spring Initializr 또는 Maven/Gradle을 사용하여 프로젝트 생성
   - 필요한 의존성(Dependency) 추가: Spring Web, Spring Security, Spring Data JPA 등
   - 데이터베이스 연동: MySQL과의 연동 설정
   - API 설계: 소셜미디어 API의 엔드포인트 및 데이터 구조 설계
   - API 구현: Spring Boot를 사용하여 API 엔드포인트를 구현하고, 필요한 서비스와 리포지토리를 개발
   - Spring Security 설정: JWT 기반의 인증 및 인가 설정

3. 프론트엔드 개발:
   - React 프로젝트 생성: Create React App을 사용하여 프로젝트 생성
   - 필요한 라이브러리 설치: react-router-dom, axios 등
   - 사용자 인터페이스(UI) 설계: 실시간 채팅, 커뮤니티, 회원 관리, 댓글 등의 UI 구성 요소 설계
   - UI 구현: React를 사용하여 UI 구성 요소를 개발하고, API와의 통신을 위해 axios 등을 활용

4. 웹소켓을 활용한 실시간 채팅 구현:
   - WebSocket 라이브러리 설치: 예를 들어, Socket.io 등을 사용하여 웹소켓을 구현
   - 채팅 기능 구현: WebSocket을 사용하여 실시간 채팅 기능을 개발

5. AWS 활용:
   - AWS 계정 생성: AWS 서비스를 사용하기 위해 AWS 계정을 생성
   - 서버 배포: AWS Elastic Beanstalk, EC2 등을 사용하여 Spring Boot 애플리케이션 배포
   - SSL 인증서 관리: AWS ACM(AWS Certificate Manager)을 사용하여 SSL 인증서를 생성 및 관리

6. 도커 및 젠킨스 설정:
   - 도커 이미지 빌드: 프로젝트의 도커 이미지를 빌드하여 컨테이너화
   - 젠킨스 설정: Jenkins를 설치하고, CI/CD 파이프라인 구성을 위한 설정 수행

각 단계는 순차적으로 진행되며, 백엔드 개발부터 시작하여 프런트엔드 개발, 실시간 채팅 구현, AWS 활용, 도커 및 젠킨스 설정 순서대로 진행할 예정

반응형