Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
33c3754
chore(server): set up backend dependencies and scripts
taewon-w Jun 26, 2026
fb47006
feat(products-api): add Product schema and create/read endpoints
taewon-w Jun 29, 2026
feb1c52
feat(products-api): complete product CRUD endpoints
taewon-w Jul 2, 2026
c736511
fix(items): connect market page to local products API
taewon-w Jul 2, 2026
89287f3
feat(items): add market navigation behaviors
taewon-w Jul 2, 2026
1b64c6a
feat(registration): add product registration page
taewon-w Jul 2, 2026
55dd17a
feat(registration): submit products with API
taewon-w Jul 2, 2026
296572e
style: format code with prettier
taewon-w Jul 2, 2026
e62e399
chore(env): document API config and localize product errors
taewon-w Jul 3, 2026
b892609
feat(registration): add validation and tag chips
taewon-w Jul 3, 2026
e483abd
fix(products-api): harden product validation
taewon-w Jul 3, 2026
fd98827
refactor(registration): rename validation hook and simplify error state
taewon-w Jul 4, 2026
a471bcc
refactor(products-api): make schema the single source of validation
taewon-w Jul 4, 2026
c733a18
refactor(registration): share product limits via constants and align …
taewon-w Jul 4, 2026
24e0d21
refactor(services): extract shared api client with unified error hand…
taewon-w Jul 4, 2026
4f2b685
refactor(items): name responsive breakpoints as constants
taewon-w Jul 4, 2026
0adc2bf
refactor(services): move json serialization into api client
taewon-w Jul 4, 2026
ec82eb6
feat(hooks): add useDebouncedValue and useProductPageSize hooks
taewon-w Jul 4, 2026
5748768
refactor(items): handle fetch errors, debounce search, extract page s…
taewon-w Jul 4, 2026
a6d023f
fix(items): clamp page when total pages shrink
taewon-w Jul 4, 2026
409238e
refactor(registration): extract ProductFormField and move validation …
taewon-w Jul 4, 2026
51fe727
refactor(pages): rename Boards to BoardPage for consistency
taewon-w Jul 5, 2026
74b9757
refactor(services): rename service modules to camelCase
taewon-w Jul 5, 2026
78a3b76
refactor(auth): move AuthPage.css next to AuthLayout as AuthLayout.css
taewon-w Jul 5, 2026
d1184af
style: drop .jsx import extensions and unify component declarations
taewon-w Jul 5, 2026
bff34bb
refactor: standardize visibility icon name
taewon-w Jul 5, 2026
950adae
style: drop remaining import extensions
taewon-w Jul 5, 2026
d6783ca
refactor(routes): rename /boards to /board to match BoardPage
taewon-w Jul 5, 2026
a5d9e8b
refactor: rename default.png to img_product_default.png for consistency
taewon-w Jul 5, 2026
dbe8435
chore: install and initialize Prisma
taewon-w Jul 6, 2026
41e32aa
feat: add Prisma data models
taewon-w Jul 6, 2026
50ee8a7
feat(items): add case for empty search result
taewon-w Jul 6, 2026
5b97eb2
feat(product): extract server side constants
taewon-w Jul 6, 2026
c1b4c2c
refactor(items): rename ItemsPage classes to match convention
taewon-w Jul 6, 2026
f6d0440
refactor(auth): remove unused password and visibility classes
taewon-w Jul 6, 2026
1e8fad6
chore: add database seed data
taewon-w Jul 6, 2026
905ab7c
chore: add Prisma client helper
taewon-w Jul 6, 2026
cc7be36
refactor: share product constants
taewon-w Jul 6, 2026
fc43d74
refactor: migrate product API to Prisma
taewon-w Jul 6, 2026
cddfd04
feat: add article API
taewon-w Jul 6, 2026
e7835de
feat: add article comment API
taewon-w Jul 6, 2026
6d9fe2f
refactor: remove MongoDB and Mongoose
taewon-w Jul 6, 2026
b4dc53a
refactor(items): simplify useProductPageSize to return a number
taewon-w Jul 6, 2026
dacbf9c
refactor(items): remove redundant page count guard in Pagination
taewon-w Jul 7, 2026
f020e12
refactor(registration): clarify price normalization in form validation
taewon-w Jul 7, 2026
936028f
refactor(services): unify promise return style in productService
taewon-w Jul 7, 2026
2f54483
chore(prisma): drop no-op skipDuplicates from seed
taewon-w Jul 7, 2026
51cfe1a
refactor: extract request parsing helpers
taewon-w Jul 7, 2026
fe217f0
feat(header): change 로그인 to 로그In, I mean why not
taewon-w Jul 8, 2026
fb65487
fix(server): generate Prisma client before startup
taewon-w Jul 8, 2026
b2e28a4
Merge pull request #1 from taewon-w/feat/testing-deploy-preview
taewon-w Jul 8, 2026
8591313
fix(header): revert 로그in to 로그인
taewon-w Jul 8, 2026
8af7d7f
Merge pull request #2 from taewon-w/test/testing-render-preview
taewon-w Jul 8, 2026
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
4 changes: 4 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
PORT=3000
DATABASE_URL=postgresql://username:password@localhost:5432/panda_market_dev?schema=public
CLIENT_ORIGIN=http://localhost:5173
VITE_API_BASE_URL=http://localhost:3000
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -26,3 +26,6 @@ coverage
*.njsproj
*.sln
*.sw?

/src/generated/prisma
/server/generated/prisma
8 changes: 7 additions & 1 deletion eslint.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import eslintConfigPrettier from 'eslint-config-prettier/flat'
import { defineConfig, globalIgnores } from 'eslint/config'

export default defineConfig([
globalIgnores(['dist', 'coverage']),
globalIgnores(['dist', 'coverage', 'src/generated/prisma', 'server/generated/prisma']),
{
files: ['**/*.{js,jsx}'],
extends: [
Expand All @@ -22,5 +22,11 @@ export default defineConfig([
reportUnusedDisableDirectives: 'warn',
},
},
{
files: ['server/**/*.js'],
languageOptions: {
globals: globals.node,
},
},
eslintConfigPrettier,
])
Loading