Skip to content

sleepy-wood/server-api

Repository files navigation

banner

server-api

Contributors Forks Stargazers MIT License

Logo

Sleepywood API Server

Table of Contents
  1. About The Project
  2. Getting Started
  3. License

About The Project

project
  1. NestJS Server

    • NestJS는 NodeJS에서 새롭게 떠오르는 Server Application 구축용 프레임워크이다.
    • Typescript의 적극적인 도입과 DI(Dependency Injection), IoC(Inversion of Control), Module을 통한 구조화 등의 기술을 통해 생산적인 개발에 용이하다.
    • 효율성, 안정성, 확장성 등에서 용이한 모습을 보여주고 있기 때문에 본 프로젝트에 NestJS를 Server Framework로 활용하였다.
  2. 35개의 Database Table

    • NestJS와 TypeORM을 활용해서 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑해줬다.
    • TypeORM의 경우 모델의 정의를 올바르게 했을 경우에 데이터베이스 타입정의에 메리트를 최대한으로 얻을 수 있으며, 복잡한 모델간의 관계를 형성할 수 있는 장점이있다.
    • 이를 통하여서 우리의 총체적인 어플리케이션 구현을 위한 35개의 관계형 테이블을 설계하였다.
  3. 111개의 RESTful API 문서화

    • 클라이언트 개발자와 원활한 의사소통을 위해서 API 명세서를 작성하는 것은 필수적인 작업 중 하나이다.
    • 잘 정리되어 있는 문서는 팀의 생산성을 높여줄 수 있다.
    • Swggaer를 사용해서 자동으로 우리의 RESTful API를 문서화 하였으며, 최종적으로 총 111개의 API를 문서화하였다.

Built With

AWS NestJS NodeJS MySQL Redis

Getting Started

Prerequisites

  1. npm
npm i -g npm@latest
  1. redis-server
  2. ffmpeg
  3. mysql
  4. yarn(Optional)
  5. .env
# Path
NODE_PATH="$(pwd)"

# MySQL Information
MYSQL_DATABASE=
MYSQL_HOST="127.0.0.1"
MYSQL_PORT="3306"
MYSQL_USER=
MYSQL_PASSWORD=

# Redis
REDIS_HOST="127.0.0.1"
REDIS_PORT="6379"

# Server Port
PORT="4000"

# JWT
SECRET=
SALT=

# Throttling Options
THROTTLE_TTL=60
THROTTLE_LIMIT=100

# timezone / locale
TZ="Asia/Seoul"
locale="ko-KR"

# Weather APIs
WEATHER_API_KEY=

Installation

  1. Clone the repo
git clone https://github.com/sleepy-wood/server-api.git
  1. Install NPM packages
yarn
  1. Run App
yarn start:dev

License

Distributed under the MIT License. See LICENSE.txt for more information.

About

⭐️ RESTful API 서버

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages