Skip to content

fix(backend): resolve unable to access recruit page #5

Merged
Menstear merged 4 commits into
developfrom
fix/recruit-page-access
May 11, 2026
Merged

fix(backend): resolve unable to access recruit page #5
Menstear merged 4 commits into
developfrom
fix/recruit-page-access

Conversation

@all4null
Copy link
Copy Markdown

@all4null all4null commented May 8, 2026

Changes

  • backoffice backend의 서버 시작부분을 별도의 파일로 분리했습니다.
  • backoffice에서 로그인 후 recruit 페이지로 접속 불가 및 "/"으로 리다이렉트 되는 문제를 수정했습니다.
  • main web backend에 있던 dummy데이터 일부를 mongoDB로 동작하도록 수정 후 backoffice backend로 가져왔습니다.
  • 추후 기능 추가를 위해 모델과 라우터 컨트롤러 등을 추가했습니다.

Implementation

  • 서버 실행 로직 분리
    • backend의 app.jsStartServer() 부분을 server.js로 분리했습니다.
    • package.jsonstart, dev scripts가 src/app.js 대신 src/server.js를 실행하도록 변경했습니다.
  • recruit feature 초기 데이터 추가
    • recruit 페이지 접근 시 필요한 feature_name: "recruit" 데이터가 없어 발생하던 오류를 수정했습니다.
    • InsertDummyData.js에서 Feature 모델을 사용해 recruit feature 더미 데이터를 생성하도록 추가했습니다.
  • MongoDB형식에 맞춘 더미 데이터 수정
    • 기존 SQL/Sequelize 방식의 더미 데이터 삽입 로직을 MongoDB 형식으로 수정했습니다.
    • bulkCreate, count 등 Sequelize 메서드를 insertMany, countDocuments, updateOne 등 Mongoose 메서드로 변경했습니다.
    • main web backend에 있던 dummy data 삽입 로직 중 일부(semina,file)를 backoffice backend에서 필요한 부분을 이동 및 수정했습니다.
  • 모델 스키마 수정
    • Semina.js에서 직접 관리하던 semina_id 필드를 제거했습니다.(대신 mongoDB에서 자동 생성되는 ObjectId를 사용)
    • File.jssemina_id가 Number 대신 mongoose.Schema.Types.ObjectIdSemina 문서를 참조하도록 수정했습니다.
    • MongoDB 기본 _id 기반으로 SeminaFile 데이터가 연결되도록 더미 데이터 삽입 방식을 변경했습니다.
  • Activity CMS 기반 파일 추가
    • 추후 Activity CMS 기능 구현을 위해 ActivityType.js, ActivityItem.js 모델을 추가했습니다.
    • Activity 관련 라우터와 컨트롤러 기반 파일을 추가했습니다.

Notes

  • recruit feature 데이터는 backoffice의 모집 ON/OFF 상태 조회에 필요한 초기 데이터입니다.
  • Activity CMS 관련 파일은 추후 기능 확장을 위한 기반 작업이며, 세부 기능 구현은 후속 작업에서 진행할 예정입니다.

all4null added 4 commits May 2, 2026 23:25
Add MongoDB-backed ActivityType and ActivityItem models. Add backoffice CRUD and reorder APIs for activity CMS. Register MongoDB connection, Swagger docs, and standalone backoffice docker compose.

Refs #3
@all4null all4null requested a review from Menstear May 8, 2026 23:05
@vercel
Copy link
Copy Markdown

vercel Bot commented May 8, 2026

Deployment failed with the following error:

There is no GitHub account connected to this Vercel account.

@vercel
Copy link
Copy Markdown

vercel Bot commented May 8, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
backoffice-dev Ready Ready Preview, Comment May 8, 2026 11:05pm

@all4null all4null added bug Something isn't working and removed bug Something isn't working labels May 8, 2026
@all4null all4null requested review from Menstear and removed request for Menstear May 10, 2026 15:00
@all4null all4null marked this pull request as ready for review May 10, 2026 15:05
@all4null all4null requested a review from i2na as a code owner May 10, 2026 15:05
@Menstear Menstear merged commit 03ea098 into develop May 11, 2026
2 of 3 checks passed
Menstear pushed a commit that referenced this pull request May 18, 2026
백엔드
- Comment 모델 추가 (content, author, status: pending/approved/rejected)
- AuditLog 모델 추가 (관리자 액션 감사 로그, actorUserId: Mixed 타입)
- AuditLogService 추가
- 공개 API: POST /comments (등록), GET /comments (승인된 목록 페이지네이션)
- 관리자 API: GET/PATCH(approve/reject)/DELETE /bo/admin/comments
- 보안: 허니팟 필드, rate limit (IP당 분당 5회), page 파라미터 DoS 상한(500)
- CORS: 개발/프로덕션 origin 배열로 수정, 프로덕션에 DELETE 메서드 추가
- trust proxy: app.enable → app.set('trust proxy', 1) 로 변경
- express-rate-limit, cors 패키지 추가

프론트엔드
- comment_api.jsx 추가 (fetchComments, approveComment, rejectComment, deleteComment)
- commentAdmin 기능을 recruitDB 내 오버레이 패널로 통합 (별도 라우트 제거)
- 코멘트 관리 패널: 상태 탭 필터, 테이블, 페이지네이션, ESC 키 닫기
- recruitDB.css에 다크 테마 패널 스타일 추가
@all4null all4null deleted the fix/recruit-page-access branch May 26, 2026 05:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants