728x90
반응형
목차
1. 프로젝트 명
2. 팀원
3. 소개
4. 와이어프레임
5. 프로그램 세팅 및 작업
6. API
7. 기능구현 분담
8. 서버와 데이터베이스의 관계도
프로젝트명
AMU WIKI (아무 위키)
팀원
이름 | 주특기 | GitHub_link | |
정붕기 (팀장) | 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 할 수 있도록 하였습니다.
와이어프레임
프로그램 세팅 및 작업
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
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
기능 구현 분담
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.
- 이기웅
- View user profile
- Edit user profile - nickname, password
- Upload profile photo
- Edit profile photo
- 조현수
- Retrieve a post
- Create a post
- Edit a post
- Delete a post
- 주재훈
- Send email verification code
- Verify email address
- User signup
- User login
- User withdrawal
- 정붕기
- Elasticsearch
- Vite+React
- 한창윤
- Elasticsearch
Architecture
1. 이번 프로젝트에 대한 나의 소감
https://jrogrammer.tistory.com/239
2. 이번 프로젝트에서 발생한 문제점들과 내가 해결해 나간 방식
https://jrogrammer.tistory.com/240
3. 이번 프로젝트에서 내가 기여한 부분
https://jrogrammer.tistory.com/242
728x90
반응형
'⭐ 𝐩𝐫𝐨𝐣𝐞𝐜𝐭𝐬 > projects' 카테고리의 다른 글
Dwitter (0) | 2023.03.09 |
---|---|
[미니 프로젝트] Create Basic Site (0) | 2023.02.25 |