Skip to content

42Sunny/42noti_back

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

42Event Backend

개요

42서울에서 진행되는 행사 정보를 보다 편하게 확인하고 행사 시작 전 알림을 받아보기 위한 42Event 서비스의 API입니다.

서비스는 42Event에서 제공됩니다.

프론트엔드 서비스는 여기에서 확인하실 수 있습니다.

설치 및 실행 방법

  1. 이 저장소를 클론합니다.
    $ git clone [email protected]:42meetup/meetup_back.git
    $ cd meetup_back
  2. 아래 내용을 참고해서 외부 API 서비스 키를 발급 받습니다. 개발용 로컬의 .env에 사용되는 서비스 키는 슬랙을 통해 공유합니다.
  3. .env.example 파일을 .env로 복사하여 내용을 수정합니다.
  4. ./src/.env.example 파일을 ./src/.env로 복사하여 내용을 수정합니다.
  5. ./run.sh를 실행합니다.

서버를 실행하기 위해서는 Docker가 설치되어 있어야 합니다.

최초 실행 시 도커 이미지 다운로드와 이미지 생성에 시간이 다소 소요됩니다.

외부 API 서비스 키 발급 받기

42 API

  1. 42 인트라넷에 로그인 한 다음 여기에서 새로운 앱을 생성합니다.
  2. 폼을 작성합니다. Redirect URIhttp://localhost:4242/login/42/return로 작성합니다.
  3. ./src/.env.example 파일에 각 내용을 복사합니다.
    • FORTYTWO_CLIENT_ID: 생성한 앱의 UID
    • FORTYTWO_CLIENT_SECRET: 생성한 앱의 SECRET

Slack API

슬랙 앱을 설치하기 위한 워크스페이스가 필요합니다.

  1. 여기에서 새로운 앱을 생성합니다.
  2. Setting - Basic Information 메뉴에서 App-Level Tokens을 생성합니다.
    • Scopes to be accessed by this token: connections:write, authorizations:read
  3. Features - OAuth & Permissions 메뉴에서 Scopes를 설정합니다.
    • Bot Token Scopes: channels:read, chat:write, groups:read, users:read
  4. Settings - Install App 메뉴로 이동해서 앱을 설치합니다.
  5. 설치 후 ./src/.env.example 파일에 각 내용을 복사합니다.
    • SLACK_BOT_TOKEN: Settings - Install App메뉴의 OAuth Tokens for Your Workspace에 있는 Bot User OAuth Token
    • SLACK_SIGNING_SECRET: Setting - Basic Information 메뉴의 App Credentials에 있는 Signing Secret

.env 파일 설정

  • .env.example을 참고하여 .env 파일을 작성합니다.
  • ./src/.env.example을 참고하여 ./src/.env 파일을 작성합니다.
    • URL과 관련한 환경 변수는 프로토콜을 유의하여 작성하세요.

Directory Structure

.
├── proxy
├── src
│   ├── config
│   ├── loaders
│   ├── models
│   ├── routes
│   ├── controllers
│   ├── services
│   ├── utils
│   └── logs
└── postman

Directories

  • proxy: 웹 서버를 위한 프록시 설정을 위한 파일
  • src: 서버를 위한 소스 코드
    • config: 환경 변수 등의 설정 파일
    • loaders: express 로더
    • models: ORM 모델 클래스 및 재사용 함수
    • routes: express 라우터
    • controllers: 라우더에서 사용되는 컨트롤러
    • services: 컨트롤러에서 사용되는 비즈니스 로직
    • utils: 재사용 되는 유틸리티 함수
    • logs: 로그 파일
  • postman: Postman API 문서 관련 파일

Scripts and Config files for Docker

  • ./run.sh: docker-compose를 실행하는 쉘 스크립트. 기본적으로 백그라운드로 실행되며, show 옵션을 추가해서 로그를 확인하기 위해 포그라운드로 실행할 수 있습니다.
  • ./docker-compose.yaml: ./run.sh에서 사용하는 docker-compose 설정 파일
  • ./src/Dockerfile: ft-app 도커 컨테이너를 위한 Dockerfile
  • ./src/docker-entrypoint.sh: ./src/Dockerfile에서 사용하는 실행 파일. DB를 먼저 실행하고, node 서버를 실행합니다.

데이터베이스 구조

(작성중)

사용 스택

Git Branches

  • main: 메인 브랜치
  • dev: 개발용 브랜치

문서

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published