Open Together, O2
SOPT 28th WEBJAM
프로젝트 기간: 2021.06.26 ~ 2021.07.17
프로젝트 릴리즈 기간: 2021.08.01 ~
예비 창업가가 회고와 강연을 통해 더 성장할 수 있는 기회를 제공하는 커뮤니티 플랫폼. 오투의 메인 기능으로는 회고를 원하는 기간에 맞춰서 쓰는 Learn Myself와 본인이 직접 연사가 되어볼 수 있고 다른 사람들의 성장 및 창업 스토리를 들어볼 수 있는 Share Together가 있습니다.
📦Back-end
┣ 📂src
┃ ┣ 📂config
┃ ┃ ┗ 📜index.ts
┃ ┣ 📂library
┃ ┃ ┣ 📜array.ts
┃ ┃ ┣ 📜returnCode.ts
┃ ┃ ┣ 📜response.ts
┃ ┃ ┣ 📜emailSender.ts
┃ ┃ ┣ 📜date.ts
┃ ┃ ┣ 📜jwt.ts
┃ ┃ ┗ 📜emailTemplete.ejs
┃ ┣ 📂Loader
┃ ┃ ┗ 📜db.ts
┃ ┣ 📂interfaces
┃ ┃ ┣ 📜IComment.ts
┃ ┃ ┣ 📜ILikes.ts
┃ ┃ ┣ 📜IScraps.ts
┃ ┃ ┣ 📜IAdmin.ts
┃ ┃ ┣ 📜IUser.ts
┃ ┃ ┣ 📜IBadge.ts
┃ ┃ ┣ 📜IChallenge.ts
┃ ┃ ┗ 📜IConcert.ts
┃ ┣ 📂middleware
┃ ┃ ┗ 📜auth.ts
┃ ┣ 📂models
┃ ┃ ┣ 📜Admin.ts
┃ ┃ ┣ 📜Concert.ts
┃ ┃ ┣ 📜Badge.ts
┃ ┃ ┣ 📜Challenge.ts
┃ ┃ ┣ 📜User.ts
┃ ┃ ┗ 📜Comment.ts
┃ ┣ 📂service
┃ ┃ ┣ 📜schedulerService.ts
┃ ┃ ┣ 📜adminService.ts
┃ ┃ ┣ 📜authService.ts
┃ ┃ ┣ 📜challengeService.ts
┃ ┃ ┣ 📜concertService.ts
┃ ┃ ┣ 📜noticeService.ts
┃ ┃ ┗ 📜userService.ts
┃ ┣ 📂controller
┃ ┃ ┣ 📜admin.ts
┃ ┃ ┣ 📜auth.ts
┃ ┃ ┣ 📜challenge.ts
┃ ┃ ┣ 📜concert.ts
┃ ┃ ┣ 📜notice.ts
┃ ┃ ┗ 📜user.ts
┃ ┣ 📂modules
┃ ┃ ┗ 📜upload.ts
┃ ┣ 📂DTO
┃ ┃ ┣ 📜authDTO.ts
┃ ┃ ┣ 📜challengeDTO.ts
┃ ┃ ┣ 📜commentDTO.ts
┃ ┃ ┣ 📜concertDTO.ts
┃ ┃ ┣ 📜noticeDTO.ts
┃ ┃ ┣ 📜userDTO.ts
┃ ┃ ┗ 📜adminDTO.ts
┃ ┗ 📜index.ts
┣ 📜eslintrc.json
┣ 📜prettierrc.json
┣ 📜tsconfig.json
┣ 📜tsconfig.paths.json
┣ 📜README.md
┣ 📜.gitignore
┣ 📜nodemon.json
┗ 📜package.json
"devDependencies": {
"@types/bcryptjs": "^2.4.2",
"@types/cors": "^2.8.12",
"@types/ejs": "^3.0.7",
"@types/express": "^4.17.12",
"@types/node": "^16.9.6",
"@types/node-schedule": "^1.3.2",
"@types/nodemailer": "^6.4.2",
"@types/sequelize": "^4.28.9",
"@types/validator": "^13.6.3",
"@typescript-eslint/eslint-plugin": "^4.28.1",
"@typescript-eslint/parser": "^4.28.1",
"eslint": "^7.32.0",
"eslint-config-prettier": "^8.3.0",
"eslint-plugin-import": "^2.23.4",
"eslint-plugin-prettier": "^3.4.0",
"nodemon": "^2.0.12",
"prettier": "^2.3.2",
"prettier-eslint": "^12.0.0",
"ts-node": "^10.1.0",
"typescript": "^4.3.5"
},
"dependencies": {
"aws-sdk": "^2.939.0",
"bcryptjs": "^2.4.3",
"cors": "^2.8.5",
"dotenv": "^10.0.0",
"ejs": "^3.1.6",
"express": "^4.17.1",
"express-validator": "^6.12.0",
"jsonwebtoken": "^8.5.1",
"moment": "^2.29.1",
"morgan": "^1.10.0",
"multer": "^1.4.2",
"multer-s3": "^2.9.0",
"mysql2": "^2.2.5",
"node-schedule": "^2.0.0",
"nodemailer": "^6.6.2",
"nunjucks": "^3.2.3",
"reflect-metadata": "^0.1.13",
"request": "^2.88.2",
"rxjs": "^7.3.0",
"sequelize": "^6.6.5",
"sequelize-cli": "^6.2.0",
"sequelize-typescript": "^2.1.0"
}
aws-sdk : 비차단 I/O 지원, 향상된 시작 성능 및 페이지 매김 응답을 통한 자동 반복과 같이 자주 요청된 다수의 기능
bcryptjs : 패스워드 암호화 및 인증
cors : Cross-Origin Resource Sharing
dotenv : 환경변수 설정
express : 웹,서버 개발 프레임워크
express-validator : 유효성 검사
jsonwebtoken : JWT(Json Web Token) 생성 및 인증
lodash : 오브젝트 컨트롤
multer : 파일 업로드 도구
multer-s3 : AWS S3 파일 업로드 도구
nodemon : node.js 서버 개발시에 소스코드에 수정이 있을 경우, 자동으로 서버를 다시 시작해주는 툴
nodemailer : e-mail을 쉽게 보낼 수 있게 도와주는 모듈
moment : 날짜와 시간을 다루는 모듈
sequelize : mySQL - typescript ORM
Node.js
Express.js
Visual Studio Code - Node.js editor
NPM - 자바 스크립트 패키지 관리자
YARN - 자바 스크립트 패키지 관리자
MySQL
sequelize
AWS EC2 - 클라우드 컴퓨팅 시스템
AWS S3 - 클라우드 데이터 저장소
AWS Load Balancer - 트래픽 분산 시스템
🙋 고성용 | 🙋 이현진 | 🙋 정설희 |
---|---|---|
[]() | []() | []() |
서버 개발자 | 서버 개발자 | 서버 개발자 |
프로젝트 세팅 Auth API User API Concert API Admin API Notice API |
프로젝트 세팅 Auth API User API Challenge API Scheduler 서버 배포 |
프로젝트 세팅 DB 설계 서버 배포 User API Notice API |