TaskHub
프로젝트 개요
목적: React와 Spring Boot를 사용하여 사용자 인증, 상태 유지, 메시지 전송 및 관리, TODO 기능을 제공하는 애플리케이션을 개발.
주요 기능
1. 회원가입
- 기능: 사용자 계정을 생성하며, 아이디 중복 여부를 확인.
- 세부사항:
- 아이디 중복 확인 API 구현 (Spring Boot).
- 회원가입 폼 유효성 검사 (React).
- 비밀번호 해시 암호화 (Spring Security).
2. 로그인
- 기능: 사용자가 로그인하여 애플리케이션을 사용할 수 있게 함.
- 세부사항:
- 세션 기반 인증 (Spring Security).
- React에서 로그인 폼 구현 및 세션 토큰 관리.
3. 리덕스를 이용한 로그인 상태 유지
- 기능: 로그인 후 상태 정보를 Redux에 저장하여 상태 유지.
- 세부사항:
- 로그인 성공 시 user 정보를 Redux 상태에 저장.
- 애플리케이션 전역에서 인증된 사용자 정보 접근 가능.
4. TODO 관리
- 기능: 사용자 개인 TODO 리스트 생성, 저장, 불러오기, 삭제.
- 세부사항:
- 데이터베이스 구조:
- React로 TODO UI 구현 (입력, 삭제, 리스트 표시).
- Spring Boot로 TODO 관련 CRUD API 구현.
sql
CREATE TABLE todosdata (
id INT AUTO_INCREMENT PRIMARY KEY, -- 기본 키
text VARCHAR(255) NOT NULL, -- 투두 내용
checked BOOLEAN NOT NULL DEFAULT FALSE, -- 완료 여부
author VARCHAR(100) NOT NULL, -- 작성자아이디 넣는부분
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, -- 생성 시간
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP -- 업데이트 시간
);
5. 메시지 기능
- 기능: 사용자 간 메시지 전송, 수신, 확인 상태 관리.
- 세부사항:
- 데이터베이스 구조:
- 읽지 않은 메시지 개수 표시.
- 메시지 보내기 및 삭제 기능.
- 보낸 메시지 및 받은 메시지 관리 화면.
sql
CREATE TABLE messages (
message_id INT AUTO_INCREMENT PRIMARY KEY, -- 메시지 고유 번호
sender_id VARCHAR(30) NOT NULL, -- 보낸 사람 ID
receiver_id VARCHAR(30) NOT NULL, -- 받는 사람 ID
content VARCHAR(999) NOT NULL, -- 메시지 내용 (최대 999자)
is_checked BOOLEAN DEFAULT FALSE, -- 확인 여부 (기본값: 확인 안 됨)
sent_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP -- 메시지 전송 시간
);
기술 스택
1. Frontend
- React:
- 상태 관리: Redux.
2. Backend
- Spring Boot:
- Spring Security
- JPA
3. Database
- MySQL
이 프로젝트는 리액트책에있는 todo를 기반으로 로그인 기능과 메세지기능을 추가 리액트와 스프링부트 연결을 공부하기 위해 시작한 프로젝트 입니다.
현재 메세지 기능, todo 기능 로그인 기능만을 가지는 프로젝트로 목표를 잡았지만 추후 시간에 따라 지속적 기능을 추가할 예정입니다
반응형
'프로젝트' 카테고리의 다른 글
클라우드 타입을 이용하여 리액트,스프링부트 배포 (1) | 2024.12.30 |
---|---|
TaskHub (0) | 2024.12.28 |
이미지 분류 모델 자동화 시스템 (1) | 2024.10.31 |
이미지 분류 모델 자동화 시스템 개요 (1) | 2024.10.10 |
[리액트+스프링부트] Delivery Oracle (0) | 2024.07.28 |