창업 및 실제 서비스를 위해 웹 사이트 제작 진행 중에 있습니다.
창업 및 실제 서비스를 위해
웹 사이트 제작 진행 중에 있습니다.
사이트의 간단한 기능 목적은
프로젝트 수주를 통해
기업들의 프로젝트(공모전과 같은)
내용 등을 공유, 프로젝트 팀을 구성하여
함께 일할 수 있는 협업 환경을
만들고자 함이며,
더 나아가 프로젝트 이력과 연동하여
이력서 및 포트폴리오 작성을 돕고,
기업과 회원 간 취업 연계나
경력 증진 등을 목표로 하고 있습니다.
현재 진행 상황은 VSCode를 통한
스프링부트 환경에서
HTML + Thymeleaf + javascript를 이용,
프론트 디자인 및 스크립트만 개발 중이고
백엔드와 연계 없이 로컬 + 하드코딩으로만
개발 진행되어서 딱히 제약은 없지만
추후 자체적으로도 유지보수가 가능/쉽도록
충분한 설명이 필요할 것 같습니다.
또한 메인 서비스 시작 전
프로토를 먼저 출시하려는 목적이다 보니
일단은 DB나 서버 등 과금요소는
꼭 필요한 경우들을 제외하고
줄일 수 있다면 최소한으로
줄이고 싶은 상황인데..
사용될 부가 기능들은 아직 미확정이지만
일단은 메일 전송, 엑셀 다운로드,
카카오 로그인, 애디터(텍스트 + 이미지)
정도 될 것 같습니다
< 요구사항 >
자체적으로 기획, 디자인 및 프론트개발은
진행 중에 있으나, 작업물 공유 없이
백엔드 개발자의 무단 이탈로 인해
배포 및 개발 환경 구축, DB설계 등을
처음부터 다시 해야 하는 상황입니다.
실제 서비스가 목적이다보니
보안이나 제약 등에 대해서도
자문이 필요한데 도움 받을 곳이
마땅치 않아 문의 드립니다.
진행 관련해서 실제 기획안과
협의사항들을 제외하고
당장 더 공유드려야 할 항목이 있을까요??
@@@ 현재까지 파악된 요구사항 요약
프로젝트 목적 기업 프로젝트(공모전 등) 등록 및 팀 구성 / 협업 / 포트폴리오 관리 / 취업 연계
프론트엔드 HTML + Thymeleaf + JS (기존 개발자 있음)
백엔드 프레임워크 Spring Boot (JPA, Spring Security, Thymeleaf 연동)
초기 목표 실제 서비스 가능한 프로토타입 (비용 최소화 + 유지보수 용이)
주요 기능(확정) - 이메일 전송<br>- 엑셀 다운로드<br>- 카카오 로그인<br>- 텍스트+이미지 에디터<br>- 프로젝트 등록 및 조회<br>- 팀 구성 및 신청<br>- 회원정보 관리
추가 요청사항 - DB 설계 + 서버 환경 구축<br>- 보안 자문<br>- 배포환경 세팅<br>- 유지보수 문서화
@@@예상 개발 범위 세부 분류
1. 프로젝트 세팅 Spring Boot 구조 생성, 패키지 설계, Gradle 세팅, Git 연결 초기 환경
2. DB 및 엔티티 설계 User, Company, Project, Team, Application, Portfolio 등 핵심 테이블 설계 + 관계 매핑 ERD 포함
3. 인증/인가 - 카카오 로그인 (OAuth2) - JWT 토큰 인증 - 일반 로그인(선택) - 권한별 접근제어(User/Admin) Security
4. 사용자 기능 - 회원가입/로그인- 내 정보 수정- 프로젝트 지원/참여 이력
5. 프로젝트 기능 - 프로젝트 목록/상세/등록- 파일(이미지) 업로드- 참여자 관리 핵심
6. 커뮤니케이션 기능(선택) - 댓글/공지- 팀 초대/수락 MVP 단계에서는 옵션
7. 부가 기능 - 이메일 전송(SMTP)- 엑셀 다운로드(POI) 에디터(Quill.js or TinyMCE 연동)- 이미지 업로드
8. 관리자 기능(선택) - 회원/프로젝트 관리- 승인, 신고처리 2차 확장
9. 서버 구축 및 배포 - 무료/저비용 서버(Render, Railway, etc)- MySQL/H2 세팅- 도메인/SSL 연결 운영가능 상태
10. 유지보수 가이드 - 환경설정/배포 매뉴얼<br>- 기능별 주석 정리<br>- 신규 API 추가 예제 교육용 문서 포함
⚙️ 백엔드/서버 구축 시 포함되어야 할 주요 역할
일반적으로 아래 6단계로 구성됩니다.
(각 단계마다 “무엇을 해드리고, 무엇을 직접 관리할 수 있게 되는지”도 함께 명시해드릴게요.
① 프로젝트 초기 세팅
Spring Boot 프로젝트 생성
Thymeleaf 연동 구조 유지 (프론트 그대로 사용 가능)
Gradle/Maven, application.yml 세팅
로컬 DB(H2) + 개발용 MySQL까지 구조 확립
→ ???? 결과: 본인이 이후에도 새 기능을 추가할 수 있는 기본 틀 완성
② DB 설계 및 ERD 구축
회원 / 프로젝트 / 팀 / 지원 등 핵심 테이블 설계
향후 포트폴리오 / 커리어 연동 고려한 구조
추후 Admin 페이지나 API 확장도 가능하도록 설계
→ ???? 결과: schema.sql + ERD 문서 + JPA Entity 클래스까지 제공
③ 핵심 기능 API 구현
로그인 (카카오 OAuth2.0 연동)
회원가입 및 권한(Role) 관리
프로젝트 CRUD (등록, 수정, 조회, 삭제)
이메일 발송 (SMTP or Gmail API)
엑셀 다운로드 (Apache POI 등으로 구현)
이미지/텍스트 에디터 업로드 처리
→ ???? 결과: /api/** 엔드포인트 설계 + Swagger 문서 자동 생성
④ 서버 배포 및 운영 환경 세팅
무료/저비용 배포 우선
Render / Railway / Vercel + External API 조합
추후 AWS EC2 or Lightsail 전환 가능하도록 구조 유지
HTTPS, 도메인 연결, 환경변수 관리 (.env or yml 분리)
→ ???? 결과: “실제 접속 가능한 서버 + 로컬 개발 환경 동기화”
⑤ 보안/운영 관련 기본 세팅
JWT 토큰 인증 구조 (카카오 연동용 + 자체 토큰 병행)
CORS 정책 / 보안 Header 설정
비밀번호 암호화, 민감정보 보호
간단한 로그/에러 핸들링 → ???? 결과: 실제 서비스 가능한 최소 보안 구조 완비
⑥ 유지보수 및 가이드 전달
전체 디렉토리 구조 / 패키지 역할 설명
기능별 주석 정리
“신규 API 추가 시 참고 예제” 문서 제공
(요청 시) 1회 온라인 코드리뷰 or 설치 재가이드 가능
→ ???? 결과: “이후 직접 관리 가능한 구조 + 문서화된 백엔드 환경”