Wii Pointer #1 Tilt Normal
본문 바로가기
⭐ 𝐩𝐫𝐨𝐣𝐞𝐜𝐭𝐬/projects

AmuWiki

by 개발자_후니 2023. 3. 27.
728x90
반응형

AmuWiki 파비콘
AmuWiki 홈페이지

 

https://amuwiki.co.kr

 

AMU Wiki

 

amuwiki.co.kr

 

목차

1. 프로젝트 명

2. 팀원

3. 소개

4. 와이어프레임

5. 프로그램 세팅 및 작업

6. API

7. 기능구현 분담

8. 서버와 데이터베이스의 관계도

 

프로젝트명

AMU WIKI (아무 위키)

 

팀원

이름 주특기 GitHub_link Email
정붕기 (팀장) FrontEnd, BackEnd https://github.com/qndrl1004 qndrl1004@gmail.com
주재훈 (부팀장) BackEnd, UI/UX https://github.com/jaehunju1996 jjdong9108@gmail.com
이기웅 BackEnd https://github.com/LKW9 sg4582@gmail.com
한창윤 BackEnd https://github.com/HanChangYun1 hansyooni11@gmail.com
조현수 BackEnd https://github.com/goingtodev kaist217@gmail.com



 

소개

AMU 한국어로 '아무'.
즉, '아무 것이든 위키 검색을 하면 찾을 수 있다.' 라는 의미를 가졌습니다. 

elasticSearch
를 사용한 NoSQL 기반의 데이터 검색서버 이중화
로드 밸런싱, 보안까지 고려해 설계하여 만든 위키백과의 한 종류 입니다.

기존 위키백과 사이트와의 차별점을 둔 부분은
백엔드에서 nestjs(Fastify) - mongodb - elasticSearch,
프론트엔드에서 react - vite 를 활용해 속도 개선에 주로 집중 했으며,

기존의 위키 백과처럼 검색 시에 하나만 검색해오는게 아니라 구글처럼 키워드와 관련된 데이터를 가져오고 고를 수 있게 만들었습니다. 또한, 새로운 위키백과 데이터를 import 할 수 있도록 하였습니다.

 

와이어프레임

AMU WIKI Wireframe.pdf
1.61MB
01234567891011121314
012345

 

 

프로그램 세팅 및 작업

GitHub Link

 

BackEnd Stack

   
Programming Language TypeScript
RunTime Environment Node.js
Framework Nest.js (fastify)
DB MongoDB Atlas
CI/CD GitHub Action
Virtualization Technology Docker
Docker Tool Docker-compose
Deploy AWS EC2
Linux Ubuntu
SECURING AWS VPC
HTTPS  Enabling with SSL Certificate on Nginx
Cooperation Tool GitHub
Repository Github
ElasticSearch Kibana,Search
ElasticSearch Tool monstache

 

FrontEnd Stack

   
Programming Language TypeScript
CI/CD GitHub Action
Linux Ubuntu
Deploy AWS EC2
Virtualization Technology Docker
Cooperation Tool GitHub
RunTime Environment Node.js
Basic Tool HTML
Css Framework Tailwind CSS
Library React
Build Tool Vite

 

 

ERD

ERD

 

npm

"FrontEnd"

"@emotion/react": "^11.10.6",
"@emotion/styled": "^11.10.6",
"@headlessui/react": "^1.7.13",
"flowbite": "^1.6.4",
"flowbite-react": "^0.4.2",
"react": "^18.2.0",
"react-cookie": "^4.1.1",
"react-dom": "^18.2.0",
"react-router-dom": "^6.9.0"
"BackEnd" 

"@fastify/cookie": "^6.0.0", 
"@fastify/multipart": "^7.5.0", 
"@google-cloud/storage": "^6.9.4", 
"@nestjs/common": "^9.0.0", 
"@nestjs/config": "^2.3.1", 
"@nestjs/core": "^9.0.0", 
"@nestjs/elasticsearch": "^9.0.0", 
"@nestjs/jwt": "^10.0.2", 
"@nestjs/mongoose": "^9.2.1", 
"@nestjs/passport": "^9.0.3", 
"@nestjs/platform-fastify": "^9.3.9", 
"@nestjs/swagger": "^6.2.1", 
"@types/elasticsearch": "^5.0.40", 
"@types/passport-jwt": "^3.0.8", 
"bcrypt": "^5.1.0", 
"class-transformer": "^0.5.1", 
"class-validator": "^0.14.0", 
"elasticsearch": "^16.7.3", 
"fastify-cookie": "^5.7.0", 
"fastify-multipart": "^5.4.0", 
"fastify-static": "^4.7.0", 
"mongoose": "^6.10.2", 
"nest-fastify-multer": "^1.0.1", 
"nodemailer": "^6.9.1", 
"nodemailer-smtp-transport": "^2.7.4", 
"passport-jwt": "^4.0.1", 
"reflect-metadata": "^0.1.13", 
"rxjs": "^7.2.0"

 

 

Code Review Time

  • 아침조회 (오전 08시)
    • 전일 19시부터 금일 08시까지 구현한 코드 및 기능 전달, 19시 전 까지 어떤것을 할 건지 전달.
  • 중간조회 (오후 04시)
    • 중간 코드 리뷰 실행
  • 일일결산 (오후 07시)
    • 아침조회부터 19시까지 작성한 코드 및 기능구현 전달, 20시 혹은 21시 쯤에 있는 매니저 순회 전까지 질문할 질문내용을 정리

 

API

Function Method URL
인증코드 전송 POST https://amuwiki.co.kr/signup/email
인증코드 인증 POST https://amuwiki.co.kr/signup/verifying
인증된 이메일 회원가입 POST https://amuwiki.co.kr/signup/verified
로그인 POST https://amuwiki.co.kr/auth/login
로그아웃 POST https://amuwiki.co.kr/auth/logout
회원찾기 이메일 인증코드 전송 POST https://amuwiki.co.kr/auth/email
회원찾기 이메일 코드확인 POST https://amuwiki.co.kr/auth/verifying
회원찾기 비밀번호 변경 PUT https://amuwiki.co.kr/auth/changepassword
회원탈퇴 비밀번호 변경 POST https://amuwiki.co.kr/auth/email
회원탈퇴 이메일 코드확인 POST https://amuwiki.co.kr/auth/verifying
회원탈퇴 DELETE https://amuwiki.co.kr/auth/withdrawal
프로필 조회 GET https://amuwiki.co.kr/profile/detail
프로필 닉네임 수정 PUT https://amuwiki.co.kr/profile/nickname
프로필 비밀번호 수정 PUT https://amuwiki.co.kr/profile/password
프로필 사진 업로드 PUT https://amuwiki.co.kr/profile/upload
프로필 사진 검색 GET https://amuwiki.co.kr/profile/image
내가 쓴 게시글 조회 GET https://amuwiki.co.kr/post/mypost
게시글 상세 조회 POST https://amuwiki.co.kr/post/detail
게시글 작성 POST https://amuwiki.co.kr/post
게시글 수정 PUT https://amuwiki.co.kr/post
게시글 삭제 DELETE https://amuwiki.co.kr/post
위키 검색 GET https://amuwiki.co.kr/amuwiki/search?query=검색어

 

기능 구현 분담

Dividing the implementation of Infrastructure features.

 

  • 이기웅
    • Virtualization Technology
      • Docker
    • AWS
    • GitHub Action

  • 정붕기
    • Virtualization Technology
      • Docker
    • ElasticSearch
    • AWS

  • 주재훈
    • Virtualization Technology
      • Docker-compose
      • Docker
    • MongoDB manager
    • Cloud Database
      • google cloud storage
    • AWS
      • https - Enabling certificate on nginx
      • load balancing
  • 한창윤
    • Virtualization Technology
      • Docker
    • ElasticSearch
    • AWS

  • 조현수
    • Virtualization Technology
      • Docker
    • Deployment
    • EC2
    • AWS

 

 

Dividing the implementation of Server features.

  • 이기웅
    1. View user profile
    2. Edit user profile - nickname, password
    3. Upload profile photo
    4. Edit profile photo
  • 조현수
    1. Retrieve a post
    2. Create a post
    3. Edit a post
    4. Delete a post
  • 주재훈
    1. Send email verification code
    2. Verify email address
    3. User signup
    4. User login
    5. User withdrawal
  • 정붕기
    1. Elasticsearch
    2. Vite+React
  • 한창윤
    1. Elasticsearch

 

Architecture

 


 

1. 이번 프로젝트에 대한 나의 소감

 

https://jrogrammer.tistory.com/239

 

[실전프로젝트] 이번 프로젝트에 대한 나의 소감

 

jrogrammer.tistory.com

 

2. 이번 프로젝트에서 발생한 문제점들과 내가 해결해 나간 방식

 

https://jrogrammer.tistory.com/240

 

[실전 프로젝트] 이번 프로젝트에서 발생한 문제점들과 내가 해결해 나간 방식

 

jrogrammer.tistory.com

 

3. 이번 프로젝트에서 내가 기여한 부분

 

https://jrogrammer.tistory.com/242

 

[실전 프로젝트] 이번 프로젝트에서 내가 기여한 부분

 

jrogrammer.tistory.com

 

728x90
반응형

'⭐ 𝐩𝐫𝐨𝐣𝐞𝐜𝐭𝐬 > projects' 카테고리의 다른 글

Dwitter  (0) 2023.03.09
[미니 프로젝트] Create Basic Site  (0) 2023.02.25