v0.1.0-rc-0
Pre-release
Pre-release
What's Changed
- [#1] TypeScript API project by @skgndi12 in #9
- Bootstrap UI using CRA by @2wheeh in #15
- [#3] Configure API project by @skgndi12 in #14
- [#5] Establish a base for unit testing by @skgndi12 in #16
- [#3] Configure jest and write unit tests about config loader by @skgndi12 in #17
- [#8] Construct test workflow and add PR template by @skgndi12 in #18
- Sync with Develop by @skgndi12 in #20
- [#2] Construct structured logging system by @skgndi12 in #21
- [#22] Fix formatter's import alignment rule by @skgndi12 in #23
- [#4] Bootstrap express server by @skgndi12 in #24
- [#28] Access logging on HTTP server by @skgndi12 in #32
- [#33] Route Home page and Set up test by @2wheeh in #36
- [#19] Setup ui test workflow by @2wheeh in #37
- [#29] Response 500 if uncaught exception occurred by @skgndi12 in #38
- [#35] Remove unwanted response header by @skgndi12 in #39
- [#34] Prevent spoofing client IP by @skgndi12 in #40
- [#31] Controller for server liveness by @skgndi12 in #41
- [#27] Build API document by @skgndi12 in #45
- [#46] Change error format by @skgndi12 in #47
- [#44] Validate request and response by @skgndi12 in #50
- [#25] Fixes bad function names by @skgndi12 in #51
- [#26] Add import module specifier setting by @skgndi12 in #52
- [#56] Reconstruct ui directory with yarn berry by @2wheeh in #55
- [#58] Reconstruct UI test by @2wheeh in #60
- [#57] Configure eslint, ts and prettier on ui by @2wheeh in #63
- [#64] Fix formatting on ui by @2wheeh in #65
- [#53] Set up local infrastructure by @skgndi12 in #61
- [#53] Establishing the groundwork for database manipulation by @skgndi12 in #59
- [#53] Design repository layer by @skgndi12 in #70
- [#66] Migrate to app router by @2wheeh in #72
- [#71] Enhancement of error handling system by @skgndi12 in #73
- [#75] Add api returning server time by @2wheeh in #76
- [#74] Initialize schema by @skgndi12 in #80
- [#44] Update package for generating OpenAPI Spec by @skgndi12 in #81
- [#7] Initiate JWT Integration and Core Refactoring by @skgndi12 in #82
- [#7] Implements JWT client by @skgndi12 in #83
- [#84] Enhance Flexibility in CustomError by @skgndi12 in #86
- [#85] Fix empty object output for Error objects by @skgndi12 in #87
- [#88] Implement Google client by @skgndi12 in #90
- [#88] Define key-value repository by @skgndi12 in #92
- [#88] Implement Google OIDC Start Service by @skgndi12 in #91
- [#88] Add Google Sign-in route on Server by @skgndi12 in #93
- [#88] Add Redis service to Docker Compose by @skgndi12 in #94
- [#88] Generate Redis client by @skgndi12 in #95
- [#88] Implement Redis key-value repository by @skgndi12 in #96
- [#79] Add resources for nickname by @skgndi12 in #97
- [#79] Introduce utility function and a class for calculations by @skgndi12 in #98
- [#79] Generate random user nickname and user tag by @skgndi12 in #99
- [#88] Implement decode token without verify by @skgndi12 in #101
- [#88] Revise OAuth function signatures by @skgndi12 in #102
- [#88] Declare and implement get then delete by @skgndi12 in #103
- [#88] Declare and implement user repository method by @skgndi12 in #104
- [#88] Declare and implement exchange auth code by @skgndi12 in #105
- [#88] Validate Google ID token by @skgndi12 in #106
- [#88] Implement finalize Google sign in by @skgndi12 in #107
- [#88] Test finalize Google sign in by @skgndi12 in #108
- [#88] Implement issue passport by @skgndi12 in #109
- [#88] Add Google sign-in token and sign-out routes on server by @skgndi12 in #110
- [#6] Introduce component handler by @skgndi12 in #111
- [#112] Implement authorization information validation by @skgndi12 in #113
- [#112] Add methods to enum by @skgndi12 in #114
- [#112] Add signatures for user repository methods by @skgndi12 in #115
- [#112] Implement get user service method by @skgndi12 in #116
- [#112] Implement update user service method by @skgndi12 in #117
- [#112] Implement delete user service method by @skgndi12 in #118
- [#122] Create basic routes by @2wheeh in #123
- [#120] Set default font by @2wheeh in #121
- [#124] Add packages for tailwindcss usablity by @2wheeh in #125
- [#112] Implement user repository methods by @skgndi12 in #119
- Fix typo by @2wheeh in #128
- [#126] Add migration and rollback files for schema modifications by @skgndi12 in #130
- [#127] Dummy data for rendering landing page by @2wheeh in #129
- [#126] Update GitHub action workflow by @skgndi12 in #131
- [#126] Add unit test for user repository find by ID by @skgndi12 in #134
- [#126] Add unit tests for user repository by @skgndi12 in #135
- [#112] Define user domain API schema by @skgndi12 in #136
- [#112] Add user domain routes on server by @skgndi12 in #137
- [#127] Add Text component by @2wheeh in #138
- [#140] Bump up actions/setup-node@v3 to @v4 by @2wheeh in #141
- [#143] Test token renewal in middleware by @skgndi12 in #146
- [#127] Add UserChip Component by @2wheeh in #147
- [#142] Convert user entity to a class by @skgndi12 in #148
- [#144] Introduce Prisma mocking by @skgndi12 in #150
- [#127] Add Time component by @2wheeh in #149
- [#152] Simplify infra for Alpha by @2wheeh in #153
- [#145] Enhance comment table by @skgndi12 in #151
- [#154] Introduce Storybook by @2wheeh in #156
- [#159] Introduce bundle analyzer by @2wheeh in #160
- [#127] Add Header for the layout by @2wheeh in #161
- [#163] Introduce WYSIWYG editor by @2wheeh in #169
- [#145] Define interfaces and types for User and Comment repositories by @skgndi12 in #158
- [#171] Make Button for sign in and out work by @2wheeh in #172
- [#174] Implement get user without user ID API by @skgndi12 in #175
- [#174] Remove delete user endpoint by @skgndi12 in #177
- [#174] Indicate authorization mechanism in endpoints by @skgndi12 in #178
- [#145] Define interface and types for Comment repository by @skgndi12 in #179
- [#145] Implement create comment repository method by @skgndi12 in #180
- [#145] Implement comment find by ID repository method by @skgndi12 in #181
- [#145] Implement find many and count comment repository method by @skgndi12 in #182
- [#171] Add auth context by @2wheeh in #185
- [#145] Implement tests about find many and count comment repository method by @skgndi12 in #184
- [#145] Implement update comment repository method by @skgndi12 in #186
- [#145] Implement delete by ID comment repository method by @skgndi12 in #187
- [#145] Implement create comment service method by @skgndi12 in #190
- [#162] Add Pagination by @2wheeh in #188
- [#145] Implement get comments service method by @skgndi12 in #192
- [#145] Implement update comment service method by @skgndi12 in #193
- [#145] Implement delete comment service method by @skgndi12 in #194
- [#145] Define comment domain APIs schema by @skgndi12 in #195
- [#162] Prepare util functions for SearchForm by @2wheeh in #197
- [#162] Implement SearchForm by @2wheeh in #198
- [#162] Implement sticky header for board layout by @2wheeh in #200
- [#162] Improve UserChip by @2wheeh in #201
- [#162] Implement ReviewCard by @2wheeh in #202
- [#162] implement listReviews by @2wheeh in #204
- [#203] Split auth.ts for apis by @2wheeh in #205
- [#145] Implement comment v1 controller by @skgndi12 in #196
- [#162] Implement review board page by @2wheeh in #206
- [#162] Add fallback skeletons for reviews list by @2wheeh in #208
- [#145] Tests about comment v1 controller by @skgndi12 in #207
- [#209] Update ReviewCard not to break UI by @2wheeh in #212
- [#145] Initialize Comment domain components by @skgndi12 in #211
- [#213] Add total entry count to comment list response by @skgndi12 in #217
- [#219] Modify list comments API response by @skgndi12 in #220
- [#164] Enhance review and reply tables by @skgndi12 in #222
- [#164] Update review domain entities by @skgndi12 in #223
- [#164] Add reviewId index to Reply table by @skgndi12 in #224
- [#164] Implement conversion function for Reply query result to entitiy by @skgndi12 in #225
- [#164] Update comment response type to interface by @skgndi12 in #226
- [#215] Introduce utils for creating review by @2wheeh in #216
- [#228] Cleanup directories and update imports by @2wheeh in #229
- [#230] Update definitions and reflect on UI by @2wheeh in #231
- [#233] Add Title Component by @2wheeh in #234
- [#164] Define interfaces and types for Review and Reply repositories by @skgndi12 in #227
- [#233] Implement Toast by @2wheeh in #235
- [#164] Implement create review repository method by @skgndi12 in #236
- [#164] Implement find by ID review repository method by @skgndi12 in #237
- [#238] Add createReview by @2wheeh in #240
- [#164] Implement find many and count review repository method by @skgndi12 in #239
- [#238] Implement EditorRefContext by @2wheeh in #242
- [#164] Implement tests about find many and count review repository method without filtering conditions by @skgndi12 in #241
- [#238] Implement ReviewContext by @2wheeh in #244
- [#164] Implement tests about find many and count review repository method by @skgndi12 in #243
- [#238] Implement normalizeWhitespace by @2wheeh in #245
- [#164] Implement update review repository method by @skgndi12 in #246
- [#164] Implement delete by ID review repository method by @skgndi12 in #247
- [#164] Implement create reply repository method by @skgndi12 in #249
- [#164] Implement find by ID reply repository method by @skgndi12 in #250
- [#238] Implement useDebouncedCallback by @2wheeh in #248
- [#233] Implement ReviewTitle by @2wheeh in #252
- [#164] Implement find many and count reply repository method by @skgndi12 in #251
- [#164] Implement update reply repository method by @skgndi12 in #253
- [#164] Implement delete by ID reply repository method by @skgndi12 in #256
- [#233] Implement CreateReviewButton by @2wheeh in #255
- [#254] Update actions-netlify to v3 using node v20 by @2wheeh in #258
- [#171] Protect route on client side by @2wheeh in #259
- [#233] Implement UserSelfChip by @2wheeh in #260
- [#232] Implement review write page by @2wheeh in #261
- [#164] Implement create review service method by @skgndi12 in #257
- [#262] Add loading state on auth by @2wheeh in #263
- [#164] Implement get review method by @skgndi12 in #264
- [#266] implement utils for Viewer by @2wheeh in #271
- [#266] Implement Viewer for review content by @2wheeh in #273
- [#164] Implement get reviews service method by @skgndi12 in #270
- [#268] Implement getReview by @2wheeh in #275
- [#164] Implement update review service method by @skgndi12 in #276
- [#164] Implement delete review service method by @skgndi12 in #277
- [#164] Implement create reply service method by @skgndi12 in #278
- [#268] Seperate validateAndGetData and handleApiError to re-use by @2wheeh in #279
- [#268] Implement updateReview by @2wheeh in #283
- [#164] Implement get replies service method by @skgndi12 in #282
- [#285] Add API Dockerfile by @skgndi12 in #286
- [#164] Implement update reply service method by @skgndi12 in #288
- [#164] Implement delete reply service method by @skgndi12 in #289
- [#285] Specify the platform in Dockerfile by @skgndi12 in #290
- [#285] Add Dockerfile and update nextjs config by @2wheeh in #287
- [#164] Define review domain APIs schema by @skgndi12 in #291
- [#164] Implement review v1 handler methods by @skgndi12 in #292
- [#164] Implement tests about review v1 handler methods by @skgndi12 in #293
- [#164] Implement reply v1 handler methods by @skgndi12 in #295
- [#164] Implement tests about reply v1 handler methods by @skgndi12 in #296
- [#164] Initialize Review domain components by @skgndi12 in #297
- [#43] Update dependencies for security vulnerabilities by @skgndi12 in #300
- [#298] Add config value for proxy chain length by @skgndi12 in #299
- [#302] Update lexical to @0.14.2 by @2wheeh in #304
- [#267] Implement UpdateReviewButton by @2wheeh in #294
- [#302] Add ListPlugin by @2wheeh in #306
- [#302] Add HistoryPlugin by @2wheeh in #305
- [#233] Extract useCreateReviewButton by @2wheeh in #303
- [#302] Add TabIndentationPlugin by @2wheeh in #307
- [#301] Fix flickering on typing by @2wheeh in #310
- [#238] Add content-type on headers by @2wheeh in #312
- [#302] Add MaxLengthPlugin by @2wheeh in #311
- [#268] �Add EditableContext by @2wheeh in #308
- [#272] Add prettier plugin for sorting imports order by @2wheeh in #309
- [#267] Implement ViewerHeader by @2wheeh in #313
- [#314] Update README on root by @2wheeh in #315
- [#170] Add temporal workaround for ios korean issue by @2wheeh in #318
- [#265] Remove review edit page route by @2wheeh in #321
- [#265] Add review detail page (w/o reply yet) by @2wheeh in #319
- [#268] Remove exceptions on reviews api handlers by @2wheeh in #320
- [#316] Update API README by @skgndi12 in #317
- [#162] Add fallback for no reviews in review list by @2wheeh in #322
- [#127] Add Footer by @2wheeh in #323
- [#127] Add Logo by @2wheeh in #324
- [#327] Add interfaces for comment apis by @2wheeh in #328
- [#327] Add listComments by @2wheeh in #329
- [#302] Add ListMaxIndentLevelPlugin on Editor by @2wheeh in #330
- [#162] Add searchOpenKey by @2wheeh in #331
- [#327] Add api handlers for comment on client by @2wheeh in #335
- [#333] Introduce CD workflow by @skgndi12 in #334
New Contributors
Full Changelog: https://github.com/MovieReviewComment/Mr.C/commits/v0.1.0-rc-0