Skip to content

So-Woo-Ju/sowooju-api-server

Repository files navigation

Backend (API)

프로젝트 개요

저희 서비스는 폐쇄형 자막을 제공해주는 배리어프리 자막 서비스입니다. 폐쇄형자막은 웃음소리, 천둥소리 등 비언어 소리를 자막으로 표시합니다. 이런 폐쇄형 자막이 장애인들에게 필요하지만, 시간과 자원이 많이 필요해 제공하지 않는 경우가 대부분입니다.

폐쇄형 자막은 장애인 뿐만 아니라 비장애인들도 선호하는데요. 놓치는 것 없이 볼 수 있고 외출 시 이어폰을 들고 나오지 않았을 경우 등 상황에 제약받지 않고 컨텐츠를 즐길 수 있는 장점이 있기 때문입니다. 현재는 폐쇄형 자막 중 비언어적 소리 역시 사람이 입력하여 시간이 오래 걸리는 문제점이 있기 때문에 저희 서비스는 AI를 이용한 자동화로 빠르게 폐쇄형자막을 제공하고자 합니다.

프로젝트 아키텍쳐

image

프로젝트 기술 스택

Backend (API)
Nestjs GoogleCloud AWS Docker MySQL MySQL Sentry

Backend (API)

사용한 기술

  • Google OAuth2.0

  • Kakao OAuth2.0

  • Passport.js, JWT

  • Redis PUB/SUB

  • CloudWatch

  • Sentry / Slack

Dev Server

https://api.so-woo-ju.com/api/v1

API Documentation

https://api.so-woo-ju.com/api/v1/docs

Getting Started

node: 14.16.0
npm: 6.14.11

1. Cloning

$ git https://github.com/So-Woo-Ju/sowooju-api-server.git
$ cd sowooju-api-server
$ npm install

2. Setting dotenv at Root Directory

DB_HOST=<DB_HOST>
DB_PORT=<DB_PORT>
DB_USERNAME=<DB_USERNAME>
DB_PASSWORD=<DB_PASSWORD>
DB_NAME=<DB_NAME>
PORT=<PORT>
GMAIL_USER=<GMAIL_USER>
GMAIL_PASS=<GMAIL_PASS>
JWT_SECRET_KEY=<JWT_SECRET_KEY>
GOOGLE_CLIENT_ID=<GOOGLE_CLIENT_ID>
GOOGLE_SECRET=<GOOGLE_SECRET>
KAKAO_KEY=<KAKAO_KEY>
WEB_HOOK=<WEB_HOOK>
AWS_ACCESS_KEY_ID=<AWS_ACCESS_KEY_ID>
AWS_SECRET_ACCESS_KEY=<AWS_SECRET_ACCESS_KEY>
VIDEO_S3_BUCKET_NAME=<VIDEO_S3_BUCKET_NAME>

3. Run the MySQL with Docker

$ docker-compose -f "docker-compose.yml" up -d --build                                   

4. Start Local Server

$ npm run start             

Architecture

Server Architecture

Untitled (1)

CICD Architecture

image

MySQL ERD

image

Package

추가해야합니다.

Contributors

주효정 김소미 박소현 호선우
@jhj2713 @somii009 @Sohyun-Dev @hocaron
React, AI Backend, AI Backend, AI Backend, AI

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •