Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
d26ca79
first commit
play-ancora-gyungmin Sep 25, 2025
e81a3f6
feat: redy for basic crud api for products
play-ancora-gyungmin Sep 25, 2025
d4679bd
chore: basic project settings
play-ancora-gyungmin Sep 25, 2025
aa126ec
feat: modify crud products by mok data
play-ancora-gyungmin Sep 25, 2025
ef410c1
feat: Implement additional features for the API that provides full pr…
play-ancora-gyungmin Sep 25, 2025
d75bfcd
refector: organize product api code
play-ancora-gyungmin Sep 25, 2025
830a050
feat: add orderby get products api
play-ancora-gyungmin Sep 25, 2025
04e9357
feat: add logger
play-ancora-gyungmin Sep 25, 2025
4049fcd
feat: add request time print
play-ancora-gyungmin Sep 25, 2025
591705e
feat: add vaildation products post and patch
play-ancora-gyungmin Sep 25, 2025
f042570
feat: set validation
play-ancora-gyungmin Sep 25, 2025
3f82501
chore: add env config
play-ancora-gyungmin Sep 25, 2025
cd016e2
feat: add cors
play-ancora-gyungmin Sep 25, 2025
d6dd557
chore: set package.json for env
play-ancora-gyungmin Sep 25, 2025
836f0a9
feat: set middlewares
play-ancora-gyungmin Sep 25, 2025
b43064b
chore: eslint unused vars warn ignor underbar
play-ancora-gyungmin Sep 26, 2025
a1b3efb
feat: set http status error exception
play-ancora-gyungmin Sep 26, 2025
9f93442
feat: set status 400 exception
play-ancora-gyungmin Sep 26, 2025
94483e8
feat: set status 409 exception
play-ancora-gyungmin Sep 26, 2025
6ef2f54
feat: set status 403 exception
play-ancora-gyungmin Sep 26, 2025
a7f2c7b
feat: set satus 404 exception
play-ancora-gyungmin Sep 26, 2025
59a2c5d
feat: set status 401 exception
play-ancora-gyungmin Sep 26, 2025
7a4989d
feat: add error handler
play-ancora-gyungmin Sep 26, 2025
41e35ef
feat: import error handler on server start code
play-ancora-gyungmin Sep 26, 2025
4814880
feat: add err exeption for product api
play-ancora-gyungmin Sep 26, 2025
88adb7e
chore: set connect mongo
play-ancora-gyungmin Sep 26, 2025
bd3750c
feat: connect mongo
play-ancora-gyungmin Sep 26, 2025
d0cc063
feat: create product schema
play-ancora-gyungmin Sep 26, 2025
c6cb6a0
feat: modify product api for mongo
play-ancora-gyungmin Sep 26, 2025
a3c6954
fix: import cors
play-ancora-gyungmin Sep 27, 2025
911fefc
fix: change respons data poroperty keyword 'data' to 'list'
play-ancora-gyungmin Sep 27, 2025
187d140
fix: change respons data poroperty keyword 'total' to 'totalCount'
play-ancora-gyungmin Sep 27, 2025
0993c51
chore: set for render
play-ancora-gyungmin Sep 27, 2025
db52f70
chore: fix path
play-ancora-gyungmin Sep 27, 2025
7dad044
chore: set cros for publishing
play-ancora-gyungmin Sep 27, 2025
3cf4bd0
chore: update README.md
play-ancora-gyungmin Sep 27, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
node_modules

# testing
coverage

# env
env/*
!env/.env.example

# production
build

# misc
.DS_Store
.env.local
.env.development.local
.env.test.local
.env.production.local
.env*.local

npm-debug.log*
yarn-debug.log*
yarn-error.log*
7 changes: 7 additions & 0 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"printWidth": 80,
"bracketSpacing": true,
"trailingComma": "all",
"semi": true,
"singleQuote": true
}
46 changes: 12 additions & 34 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,42 +1,20 @@
# 🐼 판다마켓 프로젝트
# 🐼 판다마켓 PANDA MARKET Back End

> _이 저장소는 판다마켓 프로젝트의 백엔드 코드를 관리하는 곳입니다. 프로젝트를 클론하여 개발 환경을 설정하고, 각 브랜치에서 해당 스프린트 미션을 수행해 주세요!_ 🛠️
코드잇 스프린트미션 프로젝트 판다마켓의 백엔드 입니다.

## 소개

안녕하세요! 판다마켓 프로젝트에 오신 것을 환영합니다! 🥳
판다마켓은 따뜻한 중고거래를 위한 커뮤니티 플랫폼이에요. 여러분은 이곳에서 상품을 등록하고, 다른 사용자들과 소통하며, 자유롭게 이야기를 나눌 수 있어요. 매주 스프린트 미션을 통해 기능을 하나씩 만들어 가며 성장해 나가는 여정을 함께해요. 🚀

![PandaMarket](https://github.com/user-attachments/assets/3784b99f-73c9-4349-a9a9-92b2a7563574)
_위 이미지는 판다마켓의 대표 이미지입니다. 프로젝트가 진행됨에 따라 더 많은 이미지를 추가할 예정이에요!_ 📸

## 스프린트 미션이란? 🤔

스프린트 미션은 **하나의 개인 프로젝트를 길게 진행하면서, 그 과정에서 주기적으로 피드백을 받을 수 있는 시스템**이에요. 각 스프린트마다 배운 이론을 적용해 보고, **멘토님께 코드 리뷰를 받아가며 실력을 쑥쑥 키워갈 수 있는 중요한 개인 과제**랍니다. 💪

## 주요 기능 ✨

1. **상품 등록**: 내가 가진 물건을 올리고, 사진과 설명을 추가해 직접 판매할 수 있어요!
2. **문의 댓글**: 상품에 대한 궁금한 점이나 의견을 자유롭게 남길 수 있답니다. 📝
3. **자유게시판**: 다양한 주제로 친구들과 이야기를 나누고, 정보를 공유할 수 있는 공간이에요! 🗣️

## 프로젝트 브랜치 구조 🏗️

프로젝트는 단계별로 나뉘어 있고, 각 스프린트 미션에 맞는 브랜치가 있어요. 각 브랜치를 통해 체계적으로 개발하며 학습할 수 있어요. 🎯

### 브랜치 설명
---

1. **node (part1): 스프린트 미션 4의 BE 요구사항**
## 프로젝트 진행상황

- 백엔드 서버 설정과 간단한 API 구현을 위한 Express.js 프로젝트의 초기 세팅이 포함돼요.
- **스프린트 미션 4**의 백엔드 내용이 포함돼 있어요.
### 09.28

2. **express (part2~4): 스프린트 미션 6 ~ 12의 BE 요구사항**
- Express.js를 이용해 더 복잡한 백엔드 기능을 구현하는 미션입니다. 데이터베이스 연동, 인증 및 권한 관리 등 고급 API 설계가 포함됩니다.
- **스프린트 미션 6부터 12까지**의 백엔드 내용이 들어 있어요.
1. express, mongo 기반 백엔드 구현
2. /products CRUD API 구현

> _스프린트 미션 내 프론트엔드 요구사항은 [프론트엔드 레포지토리](https://github.com/codeit-sprint-fullstack/5-Sprint-mission-FE)의 브랜치에서 관리해주세요_
## 기술 스택

---
### 지금까지 사용 된 스택

본 프로젝트는 [코드잇](https://www.codeit.kr)의 소유이며, 교육 목적으로만 사용됩니다. © 2024 Codeit. All rights reserved.
1. Node.js
2. express
3. mongoDB
3 changes: 3 additions & 0 deletions env/.env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
NODE_ENV=
PORT=
MONGO_URI=
23 changes: 23 additions & 0 deletions eslint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
import js from '@eslint/js';

export default [
js.configs.recommended,
{
languageOptions: {
ecmaVersion: 2024,
sourceType: 'module',
globals: {
console: 'readonly',
process: 'readonly',
},
},
rules: {
'no-unused-vars': ['warn', { argsIgnorePattern: '^_' }],
'no-console': 'off',
'prefer-const': 'error',
'no-var': 'error',
semi: ['error', 'always'],
quotes: ['error', 'single'],
},
},
];
32 changes: 32 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
{
"name": "9-sprint-mission-be",
"version": "1.0.0",
"description": "",
"main": "index.js",
"type": "module",
"scripts": {
"dev": "nodemon --env-file=./env/.env.development src/server.js",
"start": "node --env-file=/etc/secrets/.env.production src/server.js",
"format": "prettier --write src/**/*.js",
"format:check": "prettier --check src/**/*.js"
},
"keywords": [],
"author": "",
"license": "ISC",
"packageManager": "pnpm@10.15.1",
"engines": {
"node": "^24.8.0",
"npm": "^11.6.0"
},
"dependencies": {
"express": "^5.1.0",
"mongoose": "^8.18.2",
"zod": "^4.1.11"
},
"devDependencies": {
"@eslint/js": "^9.36.0",
"eslint": "^9.36.0",
"nodemon": "^3.1.10",
"prettier": "^3.6.2"
}
}
Loading