수업 정리
개인 프로젝트 진행
사용 기능
- 지갑 기능
- 회원가입/로그인
- 이더리움 지갑 주소 생성
- 잔액 조회
- 초기 코인 발행(신규 회원)
- 입금/출급 기능
- 트랜잭션 내역 조회
- 차트 기능
- 이더리움 시세 조회
- 기간별 데이터 표시
- 캔들스틱 차트 표시
- 실시간 가격 업데이트
- 알림 기능
- 입출금 알림
- 실시간 알림 표시
- 알림 읽음 표시
- 알림 삭제
- 전체 알림 읽음/삭제
- 읽지 않은 알림 개수 표시
- 보안 기능
- 비밀번호 암호화 저장
- 개인키/공개키 관리
- 세션 기반 인증
- CSRF 보호
- XSS 방지
- 로깅 기능
- 트랜잭션 로그
- 시스템 로그
- SQL 쿼리 로그
- 에러 로그
- 보안 관련 로그
- 데이터베이스 관리
- 회원 정보 관리
- 트랜잭션 내역 관리
- 알림 내역 관리
- 세션 데이터 관리
- UI/UX 기능
- 반응형 웹 디자인
- 다크/라이트 모드 지원
- 실시간 데이터 업데이트
- 사용자 친화적 인터페이스
- 모바일 지원
- API기능
- RESTful API제공
- Web3j를 통한 이더리움 네트워크 연동
- 실시간 시세 데이터 조회
- 트랜잭션 처리 API
- 예외처리
- 예외 처리 및 에러 메시지 표시
- 트랜잭션 롤백
- 유효성 검사
- 보안 예외 처리
- 모니터링
- 시스템 상태 모니터링
- 트랜잭션 상태 추적
- 로그 기반 문제 추적
- 성능 모니터링
= Web3j를 통해 실제 이더리움 네트워크와 연동되어 있음
사용 기술 , 개발 환경
- 백엔드 기술
- Java(spring boot 기반)
- Spring Framework
-Spring MVC
-Spring Security
-Spring Data JPA
-Spring Session
- Hibernate
- MySQL(DB)
- Web3j(이더리움 네트워크 연동)
- Lombok
- 프론트엔드 기술
- JSP
- JavaScript
- jQuery
- HTML/CSS
- tailwindCSS(UI 프레임워크)
- Font Awesome(아이콘)
- 개발 도구
- IDE
- 버전 관리 : Git/GitHub
- 빌드 도구 : Maven
- 주요 라이브러리
- Web3j
- MySQL Connector
- JSTL(JSON처리)
- SLF4j(로깅)
- 개발 환경
- OS : macOS
- JDK
- DB : MySQL
- 보안 기술
- Spring Security
- CSRF 보호
- XSS 방지
- 세션 관리
- 암호화(비밀번호, 개인키)
- 데이터베이스 설계
테이블 : members(회원 정보), transactions(거래 내역), notifications(알림), persistent_logins(로그인 세션)