Skip to content

YeowonKIM/Knock-Project

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

176 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation


image



Knock πŸšͺ

Internal Document Search Service for B2B SaaS


1. Search

  • #ThingsYouCan’tAskCoworkers #WhatYouMissed
  • Don’t hesitateβ€”ask Knock!
  • Posts highly related to your query are quickly retrieved using morpheme analysis and importance ranking.

2. Security

  • #InternalDocuments #SecurityIsKey
  • Each company has its own Admin, and only the Admin can register Members.
  • Read/edit permissions can be assigned based on employee rank.

3. Community

  • Categorize and manage documents by use case.
  • Easily check the edit status of a post, and receive notifications once a colleague finishes editing.
  • Foster a collaborative work environment through comments and edit logs!

4. D.I.Y

  • #YourWay #CustomizeFreely #DocumentDecorNotPlannerDecor
  • Use the favorites feature to save posts into your own folders, organized just the way you want!
  • Favorite folders are private, so you can save freely with peace of mind.



Knock Backend Team

Name Github
BE Lead Yeowon Kim https://github.com/YeowonKIM
BE Member Nahyun Kim https://github.com/hunny-A
BE Member Jaeyong Park https://github.com/jyparkDev
BE Member Sunyeon Jeong https://github.com/sunyeon-Jeong



Project Details

  • Demo Video

  • Implementation Goals

    • Search Performance: Fast and accurate results using morpheme analysis
    • Edit Status Notifications: Show editing status and notify when edits are complete
    • Personal Document Management: Manage your own posts and organize internal documents in folders
    • Post Sharing Community: Comment-based communication and access to edit history
    • Log Functionality: View past and current versions of edited posts
  • Features Implemented

    • Search and category-based filtering
    • Post detail page
    • My Page and Favorites
    • Admin page (managing companies, employees, categories, etc.)
    • Comments and edit logs
  • Duration

    • 2023.03.10 ~ 2023.04.21




Tech Stack











Service Architecture

πŸ› οΈ image


ERD

View ERD

image



API Documentation

πŸ“„ Go to API Docs



Key Features

Document Search & Filtering Edit Status Tracking
Search Edit Status
- High performance search by title, content, and keywords
- Category-specific search
- Search filters (relevance, comments, views, recency)
- View edit status
- Notify users if a completed post is reopened for edits
Admin Page Comments & Edit Logs
Admin Logs
- Manage employee roles and permissions
- Manage document categories
- Communicate via comments
- Compare before/after versions via logs



Trouble Shooting

πŸ’‘ For details, data, and statistics, check the links under each toggle.

Improving Search Performance

(1) [STEP1] Identifying and addressing performance issues

(2) [STEP2] Optimizing morpheme analysis settings

(3) [STEP3] Query optimization with QueryDSL

(4) [STEP4] Improving sorting query performance

SSE
(1) Needed real-time edit status notifications without frequent API calls (2) Used SSE for one-way, persistent communication from server to client πŸ‘‰ https://www.notion.so/SSE-d46754926bdd4ba2a69be6a6e94405a2
Temporary Auth Code Storage
(1) Needed short-term storage for password recovery codes (2) Used Redis due to its in-memory efficiency and automatic expiration πŸ‘‰ https://www.notion.so/Redis-5f74e46c591d47108d4bf692b29ba3aa
CI / CD
- Issue: Docker image failed to run from Github Actions on EC2 - Cause: SSH connection to Knock EC2 server was refused - Fix: Resolved by adjusting `secrets` settings in Github Actions (pem.key and EC2 password) πŸ‘‰ https://www.notion.so/CI-CD-78da8d9f7b4f4f6bba947b7e7ffda2b1




About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Java 98.6%
  • HTML 1.3%
  • Dockerfile 0.1%