Personal Blog Project
Overview
This repository houses a personal blog project.
Features
- Authentication: User registration and login capability.
- Text Editor: Content creation and editing functionality.
- Image Upload: Allows for image attachments in posts.
- LaTeX Support: Integration for mathematical formulas and notations.
Tech Stack
Initially developed with ReactJS (frontend) and Node.js (backend). Transitioning to SvelteKit is in
progress.
Transition to SvelteKit
The move to SvelteKit aims for:
- Enhanced performance.
- Reduction in boilerplate code.
- Preparation for long-term development proficiency.
Contribution
Issues and pull requests are welcome for feature suggestions or improvements.
Questions
For inquiries or feedback, please use the repository's issues section.
TODO
- Finish Write page.
- After CRUD operations, the posts should be updated.
- Finish Edit and Draft page.
- Return 404 when accessing deleted posts.
- Separate write and update.
- List is not properly shown in the post.
- In TextEditor, I can't see
with tailwind class. Fix this.
- Separate public and private.
- Make the post non-nullable.
- Get the next and previous posts.
- Verify the token properly.
- Token 만료되면 verifiedUser 없애고 Delete 버튼도 없어야 함.
- Write and Logout button are hovered together.
- Dissemble addAge function and show datetime properly for next and previous posts.
- getPost, getPosts 등등... 레코드 없는 경우 에러 핸들링을 서버로 빼자.
- Timestamp 관련 의문 해결
- 현재 DB에는 한국 시간으로 저장돼 있다. 내가 실제로 글을 작성한 시간.
- 서버에서 글을 불러와 created_at을 확인하면 GMT로 출력된다. 한국 시간이 아니라.
- 서버에서는 어떻게 DB에서 불러온 값이 한국 시간인 걸 아는 걸까?
- GPT 왈, 서버는 DB가 보내주는 timestamp가 어떤 타임존에서 작성된 건지 모른다고 한다.
- 대신, 그 타임존이 "현재 서버 자신이 존재하는 타임존"에서 작성됐을 거라고 추측한다고 한다.
- 따라서 DB가 보내주는 timestamp가 GMT+9 기준이겠거니 하는 가정을 한다는 것이다.
- 서버로부터 글을 받아 프론트에 출력하면 GMT+0900 (Korean Standard Time)가 출력된다.
- 결국 서버에서 UTC 시간을 잘 주었고, 그걸 브라우저 현지 시각으로 표현해주는 것이다.
- Render HTML in post previews.
- In TextEditor, I can't see codes. Fix this.
- Search function needs to be finished.
- Finish Footer.
- Finish Excerpts page.
- Check if the delete confirmation works properly.
- Make the list page.
- Add Photography, Learning, and Books categories.
- Change /test to principles or another page.
- 전반적인 리팩터링 (중복 코드 없애고, 깔끔하게 만들기)
- Footer에서 disc 생길 때도 있고 아닐 때도 있는데 이유가 뭘까? 고치자.
- Unauthorised user가 slug로 draft에 직접 접근 시 방어
- Manage DB pool(?)
- Add loading spinner
- CI/CD and deployment
- 글을 쓰고 나면 Footer 목록에 구두점이 생긴다.
- 글 저장할 때 화면이 아래로 꺼지는 현상이 있는데 loading spinner 코드 수정하자.
NOT TO DO (for now)